﻿var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var set_on = false;
var IE = navigator.appName.indexOf("Microsoft") != -1;
var nIE = (IE && parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE ") + 5))>=6);
var oPopup;
if (nIE) {oPopup=window.createPopup()}
var smile_n=1;
var mouseX=0,mouseY=0;
var isSelected = false;
function sc(e) {
	mouseX=e.clientX;
	mouseY=e.clientY;
}

function ins(ch) {
	var bbopen="<"+ch+">";
	var bbclose="</"+ch+">";
	var txtarea = document.adds.text;

	if (isSelected) {
		if (txtarea.createTextRange && txtarea.caretPos) {
			var caretPos = txtarea.caretPos;
			caretPos.text = bbopen+caretPos.text+bbclose;
			storeCaret(txtarea);
			if (txtarea.caretPos.text=="") {
				isSelected=false;
				txtarea.focus();
			}
		}
	} else if (txtarea.selectionEnd) { // Mozilla
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + bbopen + s2 + bbclose + s3;
		txtarea.focus(selEnd);
	} else {
		txtarea.value += bbopen + bbclose;
	}
}
function sml(text) {
	sl('','', " :"+text+":");
}

function sl(login, id, add) {
	var o = document.adds;
	if (!o) return;
	/*optz(); */
	view_block('add_message_table');
	if (!add && id) {
		var str;
		if (document.selection) {
			str = document.selection.createRange();
			str = str.text;
		} else {
			str = document.getSelection();
		}
		if (str != "") add='\n<DIV>'+str+'</DIV>\n';
		if (!add) {
			var tmp = document.getElementById(id).innerHTML.replace(/<br>/gi,"\n");
			add='\n<B>'+login+' wrote:</B>\n<DIV>'+tmp.replace(/<[^>]+>/g,"")+'</DIV>\n';
		}
	}
	var txtarea = document.adds.text;
	txtarea.focus();
	if (txtarea.createTextRange && txtarea.caretPos) {
		txtarea.caretPos.text += add;
	} else if (txtarea.selectionEnd) { // Mozilla
		var selStart = txtarea.selectionStart;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart,txtarea.textLength);
		txtarea.value = s1 + add + s2;
	} else {
		txtarea.value  += add;
	}
}
function storeCaret(textEl) {
	if (textEl.createTextRange) {
		textEl.caretPos = document.selection.createRange().duplicate();
		isSelected = true;
	}
}
function optz() {
	var o = document.adds;
	if (o) o.style.display='inline';
}

var map_en = new Array('j/o','j/e','sx','Sx','SX','sX','shh','Shh','w','W',"jo","Jo",'JO','zh','Zh','ZH','ch','Ch','CH','sh','Sh','SH','je','Je','JE','ju','Ju','JU','ja','Ja','JA','a','A','b','B','v','V','g','G','d','D','e','E','z','Z','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','r','R','s','S','t','T','u','U','f','F','h','H','x','X','c','C','##','#','y','Y',"''","'");
var map_ru = new Array('йо','йе','сх','Сх','СХ','сХ','щ','Щ','щ','Щ','ё','Ё','Ё','ж','Ж','Ж','ч','Ч','Ч','ш','Ш','Ш','э','Э','Э','ю','Ю','Ю','я','Я','Я','а','А','б','Б','в','В','г','Г','д','Д','е','Е','з','З','и','И','й','Й','к','К','л','Л','м','М','н','Н','о','О','п','П','р','Р','с','С','т','Т','у','У','ф','Ф','х','Х','х','Х','ц','Ц','Ъ','ъ','ы','Ы','Ь','ь');

function convert(st) {
	for(var i=0;i<map_en.length;++i) while(st.indexOf(map_en[i])>=0) st = st.replace(map_en[i],map_ru[i]);
	return st;
}

var tags=new Array(2);
tags[0]=new Array( 'INFO>', 'BATTLE>', 'DIV>', 'HTTP>', 'SMILE>', 'B>', 'I>' ,'U>');
tags[1]=new Array('/INFO>','/BATTLE>','/DIV>','/HTTP>','/SMILE>','/B>','/I>','/U>');

var addressRE=new RegExp("http://\\S+","g");
var addressBackRE=new RegExp("<HTTP>(http://\\S+)</HTTP>","g");
var smileRE=new RegExp(" :\\w+:","g");
var smileBackRE=new RegExp("<SMILE>( :\\w+:)</SMILE>","g");

function translate(st) {
	st=st.replace(addressRE,"<HTTP>$&</HTTP>");
	st=st.replace(smileRE,"<SMILE>$&</SMILE>");
	var s=new Array(); s=st.split('<');

	var noNeedTrans=new Array(0,0,0,0,0);
	for(var i=0;i<s.length;i++) {
		var tagFound=0;
		for(var j=0;j<2;j++)
			for(var k=0;k<tags[j].length;k++)
				if(s[i].substr(0,tags[j][k].length)==tags[j][k]) {
					tagFound=1;
					if(k<noNeedTrans.length) {
						if(j==0)
							noNeedTrans[k]+=1;
						else if(noNeedTrans[k]>0)
							noNeedTrans[k]-=1;
					}
				}

		var needTrans=1;
		for(var k=0;k<noNeedTrans.length;k++)
			if(noNeedTrans[k]>0)
				needTrans=0;

		if(needTrans && s[i].substr(s[i].length-7)!=" wrote:") {
			if(tagFound) {
				var index=s[i].indexOf(">");
				s[i]=s[i].substr(0,index)+convert(s[i].substr(index));
			} else
				s[i]=convert(s[i]);
		}
	}
	st=s.join('<');
	st=st.replace(smileBackRE,"$1");
	st=st.replace(addressBackRE,"$1");
	return st;
}
function trnsl() {
	document.adds.text.value=translate(document.adds.text.value);
	if (document.adds.head) document.adds.head.value=translate(document.adds.head.value);
}
function Inf(login, e){
	if (!login.length) { Out(); return; }
	var obj = document.getElementById("hint");
	var lang = top.current_lang || 'ru';
	if (e) {
		mouseX = e.clientX;
		mouseY = e.clientY;
	}
	if (!set_on) {
		obj.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="334" height="335" id="info"><param name="movie" value="http://game.timezero.ru/info.swf?language='+lang+'" /><param name="allowScriptAccess" value="always" /><param name="quality" value="high" /><param name="base" value="http://game.timezero.ru/" /><param name="bgcolor" value="#43454F" /><embed src="http://game.timezero.ru/info.swf?language='+lang+'" base="http://game.timezero.ru/" quality="high" width="334" height="335" id="info" name="info" swLiveConnect="true" bgcolor="#43454F" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
		set_on=true;
		setTimeout("setInfo('"+login+"')", 1000);
	} else setInfo(login);
	obj.style.visibility = "visible";
	obj.style.left = document.documentElement.scrollLeft + (mouseX < document.documentElement.clientWidth/2 ? mouseX : mouseX - 300) + 'px';
	obj.style.top = document.documentElement.scrollTop + (mouseY+335 > document.documentElement.clientHeight ? document.documentElement.clientHeight-350 : mouseY + 5)+ 'px';
}
function drawUser(id, login, man, level, pro, clan, rank_points, img, clan_img) {
	var so = new SWFObject("http://game.timezero.ru/info2.swf", "swf_"+id, "160", "90", "7", "#CFC7BA");
	so.addParam("wmode", "transparent");
	so.addParam("base", "http://game.timezero.ru/");
	so.addVariable("lang", "ru");
	if (login) so.addVariable("login", login);
	if (man) so.addVariable("man", man);
	if (level) so.addVariable("level", level);
	if (pro) so.addVariable("pro", pro);
	if (clan) so.addVariable("clan", clan);
	if (rank_points) so.addVariable("rank_points", rank_points);
	if (img) so.addVariable("img", img);
	if (clan_img) so.addVariable("clan_img", clan_img);
	so.write(id);
}
function setInfo(login) {
	var ok = is_ie || eval('document.info.GetVariable');
	if (ok && document.info.GetVariable("v_all")>0) document.info.SetVariable("_root.watchUserInfo.login", login)
	else setTimeout("setInfo('"+login+"')", 500);
}
function Out(){
	var obj = document.getElementById("hint");
	if (obj) obj.style.visibility = "hidden";
}
function info_DoFSCommand(cmd) {
	if(cmd=='close'){
		Out();
	}
}

// Разрешенные смайлики

var sm = new Array(
	'crazy',17,24,1, 'laugh',20,20,1, 'hehe',15,15,1, 'smile',15,15,1, 'conf',15,22,1, 'ponder',21,15,1, 'dkn',31,15,1, 'wow',15,20,1, 'wow2',32,17,1, 'nerv',15,16,1, 'shy',15,16,1, 'red',15,20,1, 'sad',23,23,1,    'dry',15,15,1, 'despair',15,15,1, 'cry',16,16,1, 'cry2',38,19,1, 'help',27,28,1, 'spot',22,15,1, 'goodbad',22,21,1, 'shuffle',24,24,1, 'kult',31,16,1, 'angel',15,23,1,    'beer',15,15,1, 'yes',15,15,1, 'no',15,15,1, 'ok',22,16,1, 'wink',15,15,1, 'happy',15,15,1,    'agree',50,20,1, 'greedy',61,20,1, 'proud',25,21,1, 'idea',26,27,1, 'umn',40,40,1, 'old',32,28,1, 'celebrity',57,38,1, 'metal',26,28,1, 'str',35,25,1, 'bulldog',26,23,1,    'jaw',27,20,1, 'mad',29,18,1, 'wall',25,20,1, 'acid',40,24,1, 'bayan',39,30,1, 'kluv',54,24,1, 'sotona',37,31,1, 'csotona',31,31,1,    'crzswans',74,22,1, 'metals',20,15,1, 'gold',20,15,1, 'polymers',20,15,1, 'organic',20,15,1, 'silicon',20,15,1, 'radic',20,15,1, 'gems',20,15,1, 'venom',20,15,1,
	'gent',15,21,2, 'rupor',38,18,2, 'dont',22,18,2, 'dunno',25,15,2, 'mol',30,24,2, 'king',21,22,2, 'sleep',32,22,2, 'lick',15,15,2, 'chupa',27,22,2,    'cop',15,21,2, 'miner',50,22,2, 'jeer',26,16,2, 'stupid',20,15,2, 'stupid2',20,20,2, 'protest',26,22,2, 'rtfm',24,23,2, 'tongue',15,15,2, 'tongue2',30,24,2,    'tost',43,23,2, 'fire',35,25,2, 'row',50,25,2, 'fly',56,26,2, 'doctor',35,32,2, 'late',32,27,2,    'nobody',29,27,2, 'friday',57,28,2, 'swans',74,22,2, 'privet',27,29,2, 'priva',56,24,2,    'hi',31,28,2, 'hello',25,27,2, 'joy',31,36,2, 'imhere',23,34,2, 'popcorn',35,35,2, 'die',30,40,2, 'die2',24,36,2, 'smoke',20,20,2,    'smoke2',34,38,2, 'digger',33,33,2, 'bye',41,30,2, 'ban',41,38,2, 'congr',47,43,2, 'work',55,44,2,
	'rose',15,15,3, 'heart',16,14,3, 'flashka',20,19,3, 'nail',32,26,3, 'rev',40,25,3, 'pester',54,24,3, 'kulich',66,29,3,    'boogi',100,20,3, 'tango',64,24,3, 'poshl',43,22,3, 'poshl2',42,23,3,    'lady',15,19,3, 'vantuz',60,30,3, 'love',40,21,3, 'hug',48,20,3, 'hug2',40,20,3, 'wedding',43,21,3,    'flowers',28,29,3, 'divin',38,33,3, 'obm',37,22,3, 'farewell',40,36,3, 'soska',51,20,3, 'lesom',47,29,3,    'preved',90,40,3, 'newyear',45,41,3, 'serenade',33,56,3, 'admins',55,44,3,
	'cowb',44,29,4, 'guns',45,30,4, 'boks',62,28,4, 'nun',40,28,4, 'rambo',27,22,4, 'yessir',34,34,4,    'nunu',26,22,4, 'susel',70,29,4, 'monstr',35,30,4, 'kruger',34,27,4, 'hul',63,24,4,    'naem',30,32,4, 'budo',54,37,4, 'horse',60,40,4, 'grenade',52,34,4, 'sdaus',35,36,4,    'm60',51,18,4, 'rocket',100,33,4, 'duel',97,32,4,    'croco',59,29,4, 'robbery',50,30,4, 'maniac',70,25,4, 'loser',52,28,4,    'broken',80,20,4, 'what',65,27,4, 'naezd',65,35,4, 'snowfight',51,24,4, 'crazyny',74,30,3
);

function td1(n, d) {
	return '<td style=\'text-align: center;\' '+(n==d?'':('onclick="smiles('+d+')" onMouseOver="this.style.backgroundColor=\'white\'" onMouseOut="this.style.backgroundColor=\'#555555\'" bgcolor="#555555"'))+'><B>'+d+'</B></td>';
}

function addEvent(obj,type,fn){
    if(obj.addEventListener) obj.addEventListener(type,fn,false);
    else if(obj.attachEvent){
        obj["e"+type+fn]=fn;
        obj[type+fn]=function(){obj["e"+type+fn](window.event);}
        obj.attachEvent("on"+type,obj[type+fn]);
    }
}

function removeEvent(obj,type,fn){
  if(obj.removeEventListener) obj.removeEventListener(type,fn,false);
  else if(obj.detachEvent){
    obj.detachEvent("on"+type,obj[type+fn]);
    obj[type+fn]=null;
    obj["e"+type+fn]=null;
  }
}

var	smilepopup;

function hideSmiles() {
	if (smilepopup.style.display=='block') {
		smilepopup.style.display = 'none';
		removeEvent(document.getElementById('SMILEAREA'), 'click', hideSmiles);
//		removeEvent(document.getElementById('tz_main_block'), 'click', hideSmiles);
//		removeEvent(document.getElementsByTagName('table')[0],'click', hideSmiles);
	}
}

function smiles(n){
	smile_n = (n = n || smile_n);
	var width = 290;
	var height = 245;	
	var s1='<table width="100%" border=0 cellspacing=0 cellpadding=0 style="cursor:pointer;cursor:hand;border:0;font:10pt verdana,arial,helvetica,tahoma,sans-serif"><tr align=center>'+
		td1(n,1)+td1(n,2)+td1(n,3)+td1(n,4)+
		'</tr><tbody id="SMILEAREA"><tr><td align=center colspan=4 style="padding:3px">';
	for (var i=0; i < sm.length; i+=4) if(sm[i+3] == n)
		s1 += '<IMG SRC="/i/smile/'+sm[i]+'.gif" WIDTH="'+sm[i+1]+'" HEIGHT="'+sm[i+2]+'" BORDER="0" ALT="'+sm[i]+'" onclick="sml(\''+sm[i]+'\')" onMouseOver="this.style.backgroundColor=\'white\'" onMouseOut="this.style.backgroundColor=\'\'"> ';	
	if (!smilepopup) {	
		smilepopup = document.createElement("DIV");
		smilepopup.style.display = 'none';
		smilepopup.style.border = '1px solid #000';
		smilepopup.style.position = 'absolute';
		smilepopup.style.zIndex = '300';
		smilepopup.style.background = '#E0D9D1';
		smilepopup.style.backgroundImage='url(/a/i/content_bg.jpg)';
		smilepopup.style.margin = '-280px 0 0 0';
		smilepopup.style.right = '152px';
		smilepopup.style.height = height+'px';
		smilepopup.style.width = width+'px';
		smilepopup.id = 'SMILEPOPUP';
		document.body.appendChild(smilepopup);
		smilepopup = document.getElementById('SMILEPOPUP');				
	}
	s1 += '</tbody></tr></table>';
	smilepopup.innerHTML = '<TABLE border=0 cellspacing=0 cellpadding=0 style="cursor:pointer;cursor:hand;">'+s1+'</TABLE></BODY>';
	smilepopup.style.display = 'block';
	setTimeout("addEvent(document.getElementById('SMILEAREA'), 'click', hideSmiles)", 200);
//	setTimeout("addEvent(document.getElementsByTagName('table')[0], 'click', hideSmiles)", 200);
//	setTimeout("addEvent(document.getElementById('tz_main_block'), 'click', hideSmiles)", 200);
}

function setCookie(name, value, expires, path, domain) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "");
}
function setMyCookie(login, ses, city) {
	setCookie('tzl', login, "", '/');
	setCookie('tzses', ses, "", '/');
	setCookie('tzsrv', city, "", '/');
}

function showd(id)
{
	document.getElementById('link_' + id + '_off').style.display = 'none';
	document.getElementById('link_' + id + '_on').style.display = 'block';
	document.getElementById('text_' + id + '_on').style.display = 'block';
	resizeByContent();
}

function hided(id)
{
	document.getElementById('link_' + id + '_off').style.display = 'block';
	document.getElementById('link_' + id + '_on').style.display = 'none';
	document.getElementById('text_' + id + '_on').style.display = 'none';
	resizeByContent();
}

function submForm1(a,text,i,b) {
        var form = document.forms['reply'];
        form.a.value = a;
        form.text.value = text;
        if (i) form.i.value = i;
        if (b) form.b.value = b;
        form.submit();
}
function replyTopick(a, id, i, b){
        var s=prompt("Текст ответа:","");
        if (s==null) return;
        var form = document.forms['reply'];
        form.reply.disabled = false;
        form.reply.value = id;
        submForm1(a,s,i,b);
}
function complainTopick(a, id, i, b){
	var s=confirm("Пожаловаться на сообщение?");
	if (s!=true) return;
	var form = document.forms['complain'];
	form.a.value = a;
	form.complain.value = id;
	form.i.value = i;
	form.b.value = b;
	form.submit();
}
