var d = document;
var detect = 0;
var RS = 0;
var ErrOpen = 0;
var source = [["Scr", 45, "screen", (1 + Math.floor(45 * Math.random()))]];
var re_e = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
var re = /\d{5,5}/;
var autoPlay;
var img = new Image();
var screen_object = false;
var DTAB = false;

function OnlineView()
{
    var i,tr_obj,td_obj,str_pr;
    var table_obj = d.getElementById('TDyn');
    var all_i = Online.length;
    
    for(i=0; i<all_i; i++)
    {
        tr_obj = table_obj.insertRow(i + 2);
        
        td_obj = tr_obj.insertCell(0);
        td_obj.innerHTML = (Online[i][3] ? '<img src="/img/icon/clan'+Online[i][3]+'.png" alt="" width="16" height="12">' : '<img src="/images/dot.gif" width="16" height="12" border="0">')+Online[i][2]+' <a href="http://www.unit-online.ru/info.php?id='+Online[i][0]+'" target=_blank><img src="/images/ico_i.gif" width="9" height="9" border="0" alt="" /></a>';
        
        td_obj = tr_obj.insertCell(1);
        td_obj.align = 'center';
        td_obj.innerHTML = '['+Online[i][1]+']';
        
        td_obj = tr_obj.insertCell(2);
        if(!Online[i][3]) td_obj.innerHTML = '';
        else
        {
            str_pr = Online[i][4].split('|');
            td_obj.align = 'center';
            td_obj.innerHTML = str_pr[0];    
        }
    }
    
    tr_obj = table_obj.insertRow(all_i + 2);
    td_obj = tr_obj.insertCell(0);
    td_obj.colSpan = '3';
    td_obj.innerHTML = '<div class="razd"></div>'; 
}

function FullRatingView()
{
    var i,tr_obj,td_obj;

    if(DTAB) 
    {
        d.getElementById('Dynamic').removeChild(DTAB);
        d.getElementById("FRTIT").innerHTML = RArray[RS][0];
    }
    
    DTAB = d.createElement('table');
    DTAB.id = 'TDyn';
    DTAB.border = '0';
    DTAB.width = '100%';
    d.getElementById('Dynamic').appendChild(DTAB);
    
    var table_obj = d.getElementById('TDyn');
    for(i=1; i<101; i++)
    {
        tr_obj = table_obj.insertRow(i - 1);
        
        td_obj = tr_obj.insertCell(0);
        td_obj.width = '20%';
        td_obj.align = 'center';
        td_obj.innerHTML = i;
        
        td_obj = tr_obj.insertCell(1);
        td_obj.width = '80%';
        td_obj.innerHTML = (RArray[RS][i][3] > 0 ? '<img src="./img/icon/clan'+RArray[RS][i][3]+'.png" width="16" height="12" border="0" align=absmiddle>' : '<img src="/images/dot.gif" width="16" height="12" border="0" align=absmiddle>')+' '+RArray[RS][i][1]+'['+RArray[RS][i][2]+'] <a href="http://www.unit-online.ru/info.php?id='+RArray[RS][i][0]+'" target=_blank><img src="/images/ico_i.gif" width="9" height="9" border="0" alt="" /></a>';    
    }
    
    tr_obj = table_obj.insertRow(100);
    td_obj = tr_obj.insertCell(0);
    td_obj.colSpan = '2';
    td_obj.innerHTML = '<div class="razd"></div>';
}

function RatingView()
{
	var dlist = '<ul class="raiting">'; 
	for(var i=1; i<11; i++) 
	{
		dlist += '<li>'+(RArray[RS][i][3] > 0 ? '<img src="./img/icon/clan'+RArray[RS][i][3]+'.png" width="16" height="12" border="0" align=absmiddle>' : '<img src="/images/dot.gif" width="16" height="12" border="0" align=absmiddle>')+' '+RArray[RS][i][1]+'['+RArray[RS][i][2]+'] <a href="http://www.unit-online.ru/info.php?id='+RArray[RS][i][0]+'" target=_blank><img src="/images/ico_i.gif" width="9" height="9" border="0" alt="" /></a></li>';
	}
	dlist += '</ul>';
	d.getElementById("RList").innerHTML = dlist;	
}

function RatingNext(step)
{
	RS += step;
	if(RS < 0) RS = RArray.length - 1;
	else if(RS > (RArray.length - 1)) RS = 0;
	d.getElementById("RTitle").innerHTML = '<strong>'+RArray[RS][0]+'</strong>'; 
	RatingView(); 		
}

function FRatingNext(step)
{
    RatingNext(step);
    FullRatingView();    
}

function ScrView()
{
	screen_object = d.getElementById("screen");
    var link = '<a onclick="show_full('+source[0][3]+');" href="javascript:void(0);"><img src="/images/screens/Scr_228x162_'+source[0][3]+'.jpg" width="228" height="162" alt=""></a>';
    if(screen_object != false)
    {
	    setTimeout(function(){screen_object.innerHTML = link}, 1000);
	}
    autoPlay = setTimeout("ScrAutoPlay()", 4000);
}

function ScrAutoPlay()
{
	ScrNext(0, 1, false);
	clearTimeout(autoPlay);
	autoPlay = setTimeout("ScrAutoPlay()", 4000);
}

function ScrNext(ti, dir, full_image)
{
    clearTimeout(autoPlay);
    source[ti][3] += dir;
    if(source[ti][3] > source[ti][1]) source[ti][3] = 1;
    else if(source[ti][3] <= 0) source[ti][3] = source[ti][1];
    if(!full_image)
    {
        if(screen_object != false)
        {
            screen_object.innerHTML = '';
        }
        var link = '<a onclick="show_full('+source[ti][3]+');" href="javascript:void(0);" ><img src="/images/screens/'+source[ti][0]+'_228x162_'+source[ti][3]+'.jpg" width="228" height="162" alt=""></a>';
        if(screen_object != false)
        {
            setTimeout(function(){screen_object.innerHTML = link}, 500);
        }
        autoPlay = window.setTimeout("ScrAutoPlay()", 4500);
    }
    else
    {
        var src = '/images/screens/'+source[ti][0]+'_'+source[ti][3]+'.jpg';
        img.src = src;
        
        if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))
        {
            d.getElementById('full_image').setAttribute('src', src);
        }
        else
        {
            img.onload = function()
            {
                d.getElementById('full_image').setAttribute('src', src);
            }
        }
    }	
}

function show_full(src){
    source[0][3] = src;
    src = "/images/screens/"+source[0][0]+"_"+src+".jpg";
    img.src = src;
    if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))
    {
        show_full_onload(img, src);
    }
    else 
    {
        img.onload = function(){show_full_onload(img, src);};
    }
    clearTimeout(autoPlay);
}

function show_full_onload(img, src)
{
    var full_image = d.getElementById('full_image');
    full_image.setAttribute('src', src);
    var darker = d.getElementById('darker');
    var full_image_container = d.getElementById('full_image_container');

    var doc_height = parseInt(d.documentElement.clientHeight);
    var doc_width = parseInt(d.body.clientWidth);
    
    darker.style.display = 'block';
    full_image_container.style.display = 'block';
    if(doc_height > 600)full_image_container.style.top = ((doc_height - 600) / 2)+'px';
    if(doc_width > 800)full_image_container.style.left = ((doc_width - 800) / 2)+'px';
}

function close_full()
{
    var darker = d.getElementById('darker');
    var full_image_container = d.getElementById('full_image_container');

    darker.style.display = 'none';
    full_image_container.style.display = 'none';
    autoPlay = window.setTimeout("ScrAutoPlay()", 4000);
}

function RegWin(mode)
{
     if(!detect) tb_detectMacXFF();
     
     if(!mode && ErrOpen) 
	 {
	 	d.getElementById("errorBoxPlace").style.display = "none";
	 	ErrOpen = 0;
     }
     
	 d.getElementById("darker").style.display = (mode == 1 ? "block" : "none");
     d.getElementById("registrBlock").style.display = (mode == 1 ? "block" : "none");
}

function FogWin(mode)
{
	if(!detect) tb_detectMacXFF();
	
	d.getElementById("darker").style.display = (mode == 1 ? "block" : "none");
	d.getElementById("passwordBoxPlace").style.display = (mode == 1 ? "block" : "none");	
}

function tb_detectMacXFF() 
{
     detect = 1;
     var userAgent = navigator.userAgent.toLowerCase();
     if(userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) 
     {
          d.getElementById("darker").className = "TB_overlayMacFFBGHack";
     }
     else d.getElementById("darker").className = "TB_overlayBG";
}

function StateReady(res)
{
	var arr_res = res.split('@');
	if(arr_res[0] == 'OK')
	{
		d.getElementById("RegTextAjax").innerHTML = '<font class="regf"><BR><BR><div align="center"><B>Регистрация прошла успешно!</B></div><BR><BR>На указанный адрес отправлено письмо с данными учетной записи.<BR><BR>Теперь Вы можете начать играть. Скачайте игровой клиент, чтобы экономить трафик или начните игру прямо сейчас в окне Вашего браузера, нажав кнопку «<B>Войти в игру</B>».</font>';
		d.getElementById("nextB").innerHTML = '<a href="javascript: RegWin(0);"><img src="/images/b_ok.gif" onMouseOver="this.src=\'/images/b_ok_o.gif\'" onMouseOut="this.src=\'/images/b_ok.gif\'" width="122" height="31" border="0"></a>';
		
	}
	else if(arr_res[0] == 'CLOSE')
	{
		FogWin(0);	
	}
	else
	{
		var msg = '';
		var err;
		for(var i=1; i<arr_res.length; i++)
		{
			err = -1;
			
			switch(arr_res[i])
			{
				case '1':
				
				if(!msg) msg = 'Пароли не совпадают!';
				err = 3; 
				
				break;
				case '2':
				
				if(!msg) msg = 'Пароль должен содержать не менее 8 символов!';
				err = 2; 
				
				break;
				case '3':
				
				if(!msg) msg = 'Недопустимый формат E-mail!';
				err = 1; 
				
				break;
				case '4':
				
				if(!msg) msg = 'Недопустимый формат никнейма!';
				err = 0; 
				
				break;
				case '6':
				
				if(!msg) msg = 'Указанный никнейм уже занят!';
				err = 0; 
				
				break;
				case '5':
				
				if(!msg) msg = 'Примите условия пользовательского соглашения!'; 
				
				break;
				case '7':
				
				if(!msg) msg = 'Системная ошибка! Попробуйте зайти позже.'; 
				
				break;
				case '8':
				
				if(!msg) msg = 'Введите верный код с картинки.';
				err = 4;  
				
				break;
			}
			if(err != -1) d.getElementById("Ch"+err).innerHTML = '<img src="/images/check_wrong.gif" width="17" height="17" border="0" alt="">';
		}
		ErrorBox(1,msg);
	}
}

function RegSubmit(vcode)
{ 
     var err_mess = '';
     var login = d.getElementById("login").value;
     var email = d.getElementById("email").value;
     var pass = d.getElementById("pass").value;
     var verify = d.getElementById("verify").value;
     var code = d.getElementById("code").value;
     var condition = d.getElementById("condition");
     
     if(!login) err_mess = 'Введите Ваш никнейм!';
     else if(login.length < 3 || login.length > 16) err_mess = 'Никнейм должен содержать от 3 до 16 символов!';
     else if(!email.match(re_e)) err_mess = 'Введите Ваш E-mail!';
     else if(pass.length < 8) err_mess = 'Пароль должен содержать не менее 8 символов!';
     else if(pass != verify) err_mess = 'Пароли не совпадают!';
     else if(!code.match(re)) err_mess = 'Введите код с картинки!';
     else if(!condition.checked) err_mess = 'Примите условия пользовательского соглашения!';
     
     if(err_mess == '') AjaxGet('/modules/ajax_registration.php?login='+encodeURIComponent(login)+'&email='+encodeURIComponent(email)+'&pass='+encodeURIComponent(pass)+'&verify='+encodeURIComponent(verify)+'&sex='+d.getElementById("sex").value+'&code='+code+'&condition='+(condition.checked ? 1 : 0)+'&vcode='+vcode+'&r='+Math.random());
     else ErrorBox(1,err_mess);
}

function FogSubmit(vcode)
{
	var err = 0;
	var login = d.getElementById("f_login").value;
	var email = d.getElementById("f_email").value;
	if(!login) err = 1;
	else if(login.length < 3 || login.length > 16) err = 1;
 	else if(!email.match(re_e)) err = 1;
	if(!err) AjaxGet('/modules/ajax_password.php?login='+encodeURIComponent(login)+'&email='+encodeURIComponent(email)+'&vcode='+vcode+'&r='+Math.random()); 	
}

function ErrorBox(mode,msg)
{
	if(mode == 1)
	{
		ErrOpen = 1;
		d.getElementById("errorTxt").innerHTML = '<table width="100%"><tr><td><strong>Внимание! '+msg+'</strong></td></tr></table>';
		d.getElementById("errorBoxPlace").style.display = "block";
	}
	else 
	{
		ErrOpen = 0;
		d.getElementById("errorBoxPlace").style.display = "none";
	}
}

function InCh(inid)
{
	var log;
	
	switch(inid)
	{
		case 0:
		
		var login = d.getElementById("login").value;
		log = login ? (login.length > 2 ? (login.length < 17 ? 1 : 0) : 0) : 0;
		
		break;
		case 1:
		
		log = d.getElementById("email").value.match(re_e) ? 1 : 0;
		
		break;
		case 2:
		
		log = d.getElementById("pass").value.length > 7 ? 1 : 0;
		
		break;
		case 3:
		
		log = d.getElementById("verify").value == d.getElementById("pass").value ? 1 : 0;
		
		break;
		case 4:
		
		log = d.getElementById("code").value.match(re) ? 1 : 0;
		
		break;
		case 5:
		
		var login = d.getElementById("f_login").value;
		log = login ? (login.length > 2 ? (login.length < 17 ? 1 : 0) : 0) : 0;
		
		break;
		case 6:
		
		log = d.getElementById("f_email").value.match(re_e) ? 1 : 0;
		
		break;
	}
	d.getElementById("Ch"+inid).innerHTML = '<img src="/images/check_'+(log ? 'right' : 'wrong')+'.gif" width="17" height="17" border="0" alt="">';
}