var _lloc="#_begin";
function geByClass(searchClass, node, tag) {
  var classElements = new Array();
  if ( node == null )
          node = document;
  if ( tag == null )
          tag = '*';
  if (node.getElementsByClassName) {
    classElements = node.getElementsByClassName(searchClass);
    if (tag != '*') {
      for (i = 0; i < classElements.length; i++) {
        if (classElements.nodeName == tag)
          classElements.splice(i, 1);
      }
    }
    return classElements;
  }
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if ( pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}
function ge() {
  var ea;
  for (var i = 0; i < arguments.length; i++) {
    var e = arguments[i];
    if (typeof e == 'string')
      e = document.getElementById(e);
    if (arguments.length == 1)
      return e;
    if (!ea)
      ea = new Array();
    ea.push(e);
  }
  return ea;
}
function getClientWidth(){
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight(){
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}
function shload(par){
	var _l=ge("alert0");
	if(_l!=null){
		_l.style.display=par;
		_l.style.fontSize="54px";
		_l.style.paddingTop="16px";
		_l.style.wontWeight="bold";
	}
}
function makeRequest(url, func) {
	shload("block");
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
            }
        }
    }
    if (!http_request) {
           return false;
    }
    http_request.onreadystatechange = function() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
				var rt=http_request.responseText.toString();
				if(rt == "fail"){
					loadmenu();
					ge("dcontent").innerHTML = '<div class="scriptheader" ><div id="hider1" onclick="shide(\'hiding1\',\'block\')" class="hider"><b>Ты что-то сделал не так, %USERNAME%!</b></div><div class="hiding" id="hiding1"><div class="scriptdescr">Залогинься, и тогда все будет ок...</div></div></div>';
				}else{
					eval(func);
				}
				shload("none");
            }else{
				var rt="Ошибка загрузки";
				eval(func);
				shload("none");
			}
        }
    };
    http_request.open('GET', url, true);
    http_request.send(null);
    return false;
}
function shide(id,type){
	if(ge(id)!=null){
		if(ge(id).style.display == "none"){
			ge(id).style.display = type;
		}else{
			ge(id).style.display = "none";
		}
	}
}
function toHD(ts,advance) {
	myTime = ts*1000;
	myDate = new Date(myTime);
	D = myDate.getDate();
	M = myDate.getMonth()-(-1);
	Y = myDate.getFullYear();
	H = myDate.getHours();
	Mn = myDate.getMinutes();
	S = myDate.getSeconds();
	vars=[Mn,H,S,M,D];
	if(Mn<10) Mn="0"+Mn;
	if(H<10) H="0"+H;
	if(S<10) S="0"+S;
	if(M<10) M="0"+M;
	if(D<10) D="0"+D;	
	if(!advance){
		return (D+"."+M+"."+Y);
	}else{
		return (D+"."+M+"."+Y+" в "+H+":"+Mn+":"+S);
	}
}
function parseresponse(r,o){
	var resparr=r.split(";;;;;");
	var objectarr=new Array();
	var _object=ge(o);
	_object.innerHTML='';
	for(var i=0;i<resparr.length-1;i++){
		objectarr[i]=resparr[i];
		partarr=objectarr[i].split(":::::");
		_object.innerHTML+='<div class="scriptheader" id="scriptheader'+i+'"><div id="hider1" onclick="shide(\'hiding'+i+'\',\'block\')" class="hider">'+partarr[0]+'</div><div class="hiding" id="hiding'+i+'"><div class="scriptdescr" id="scriptdescr'+i+'">'+partarr[1]+'</div><div class="textatd" id="textatd'+i+'"><textarea readonly="1" class="texta" onclick="select(this);" id="texta'+i+'" cols="84" rows="4">'+partarr[2]+'</textarea></div></div></div>';
	}
	$('textarea.texta').autogrow({  maxHeight: 600,  minHeight: 30,  lineHeight: 15 });
}
function main(){
	qwe=arguments[0]
	if(!(qwe>1)){qwe=1};
	getScriptParts(qwe);
}
function begin(){
	var cm=(window.location.toString()+"#").split("#")[1].split("_")[1];
	var arm=(window.location.toString()+"#").split("#")[1].split("_")[2];
	if(arm==undefined) arm="NaN";
	if(cm=="main" || cm=="" || cm==undefined){
		main(arm);
	}else if(cm=="admin"){
		admin(arm);
	}else if(cm=="login"){
		login(arm);
	}else if(cm=="logout"){
		logout(arm);
	}else if(cm=="profile"){
		profile(arm);
	}else if(cm=="users"){
		users(arm);	
	}else if(cm == "rememberpage"){
		rememberpage();
	}else if(cm == "remembersend"){
		remembersend();
	}else if(cm == "remembednewpass"){
		remembernewpass(arm);
	}else if(cm =="newpass"){
		checknewpass();
	}else{
		main(1)
	}
}
function flagimage(country){
	return "<img src='/flags/"+country.toLowerCase()+".gif' alt='"+country+"' style='border:0px;width:23px;height:15px;'>";
}
function rememberpage(){
	window.location=_lloc="#_rememberpage";
	ge('dcontent').innerHTML = '<div class="scriptheader"><div id="hider1" onclick="shide(\'hiding1\',\'block\')" class="hider"><b>Когда-то я тут был... Пароль свой не знаю...</b></div><div class="hiding" id="hiding1"><div class="scriptdescr">Если вы действительно когда-то посещали этот сайт и уверены, что тут есть аккаунт, который был закреплен за вашим эмейлом, воспользуйтесь формой ниже:<br><INPUT type="text" class="inputtext" value="" onclick="" id="mail" style="width:250px" onkeypress="if(window.event.keycode == 13){remember();}"><INPUT type="button" class="menubutton" value="Напомнить" onclick="window.location=\'#_remembersend\'" name="login" id="login"></div></div></div>';
	loadmenu();
}
function remembersend(){
	window.location=_lloc="#_remembersend";
	if(ge('mail')!=null){
		makeRequest("remember.php?mail="+ge('mail').value,'loadmenu();checkRemember(rt);');
	}else{
		window.location=_lloc="#_main";
	}
}
function remembernewpass(){
	window.location=_lloc="#_newpass";
	makeRequest("remember.php?act=newpass&mail="+arguments[0].toString().split(":")[0]+"&hash="+arguments[0].toString().split(":")[1],'loadmenu();ge("dcontent").innerHTML = rt;');
}
function checkRemember(){
	zxc = arguments[0].toString();
	alert(zxc);
	if(zxc=="done"){
		ge('dcontent').innerHTML = '<div class="scriptheader"><div id="hider1" onclick="shide(\'hiding1\',\'block\')" class="hider"><b>Аккаунт есть, на почту отправлено письмо</b></div><div class="hiding" id="hiding1"><div class="scriptdescr">Действительно такой аккаунт существует, на почту отправлена ссылка на смену пароля... Если у Вас нету доступа к почте - обратитесь к администратору сайта...</div></div></div>';
	}else if(zxc=="none"){
		ge('dcontent').innerHTML = '<div class="scriptheader"><div id="hider1" onclick="shide(\'hiding1\',\'block\')" class="hider"><b>Данной почты нету в системе</b></div><div class="hiding" id="hiding1"><div class="scriptdescr">Либо Вы зарегистрировались под другой почтой, либо не регистрировались вообще, в любом случае мы ничего не сможем сделать...</div></div></div>';
	}else{
		window.location=_lloc="#_main";
	}
}
function checklocation(_lloc){
	var _loc=(window.location.toString()+"#").split("#")[1];
	if(_lloc!=_loc){
		begin();
	}
	return _loc;
}
setInterval("_lloc=checklocation(_lloc)",50);
function getScriptParts(num){
	if(num==1){adparam=""}else{adparam="_"+num};
	window.location=_lloc="#_main"+adparam;
	makeRequest("response.php?from="+num+"&r="+Math.random(),'parseresponse(rt, "dcontent");loadmenu();');
}
function admin(){
	window.location=_lloc="#_admin";
	makeRequest("admin.php",'ge("dcontent").innerHTML=rt;loadmenu();$("textarea.texta").autogrow({  maxHeight: 600,  minHeight: 30,  lineHeight: 15 });');
}
function logout(){
	window.location=_lloc="#_logout";
	makeRequest("login.php",'loadmenu();main()');
}
function profile(){
	if(arguments.length>0 && arguments[0]!="NaN"){
		adparam = "?id="+arguments[0];
		adparamloc = "_"+arguments[0];
	}else{
		adparam="";
		adparamloc="";
	}
	window.location=_lloc="#_profile"+adparamloc;
	makeRequest("profile.php"+adparam,'parseprofile(rt, "dcontent");loadmenu();');
}
function parseprofile(r,o){
	var resparr=r.split(":::");
	var _object=ge(o);
	_objectinnerHTML='<div class="profile"><div class="table">';
	var namearr=["Порядковый номер","Никнейм","Почта","Пол","День рождения","regtime","regip","lasttime","lastip","country","avatar","type","icq","vkid","regcountry","currentcountry","countryname"];
	var sexs=["Не указан","Мужской","Женский"];
	var types=["Гость","Пользователь","Местный","FULL ACCESS","Админ"];
	_objectinnerHTML+='<div class="userR"><div class="usersT" style="padding-left:100px"><img alt="аватарка" src="'+resparr[10]+'"></div><div class="usersT" style="text-align:right;vertical-align:middle;font-size:32px;padding-right:100px;">'+resparr[1]+'<br> ID '+resparr[0]+'</div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">'+namearr[2]+':</div><div class="usersT">'+resparr[2]+'</div></div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">Пол:</div><div class="usersT">'+sexs[resparr[3]]+'</div></div>';	
	_objectinnerHTML+='<div class="usersR"><div class="usersT">День рождения:</div><div class="usersT">'+toHD(resparr[4],false)+'</div></div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">Тип аккаунта:</div><div class="usersT">'+types[resparr[11]]+'</div></div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">ICQ:</div><div class="usersT">'+resparr[12]+'</div></div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">ВКонтакте:</div><div class="usersT"><a href="http://vkontakte.ru/id'+resparr[13]+'">id'+resparr[13]+'</a></div></div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">Страна:</div><div class="usersT">'+resparr[16]+"  "+flagimage(resparr[9])+'</div></div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">Первый вход:</div><div class="usersT">Время: '+toHD(resparr[5],true)+"<br>IP: "+resparr[6]+"  "+flagimage(resparr[14])+'</div></div>';
	_objectinnerHTML+='<div class="usersR"><div class="usersT">Последний вход:</div><div class="usersT">Время: '+toHD(resparr[7],true)+"<br>IP: "+resparr[8]+"  "+flagimage(resparr[15])+'</div></div>';
	_objectinnerHTML+='</div></div>';
	_object.innerHTML=_objectinnerHTML;
}
function parseusers(r,o){
	var resparr=r.split(":::;;;");
	var _object=ge(o);
	var sexs=["Не указан","Мужской","Женский"];
	var types=["Гость","Пользователь","Местный","FULL ACCESS","Админ"];
	_objectinnerHTML='<div class="profile"><div class="table"><div class="usersR"><div class="usersT">Номер</div><div class="usersT">Никнейм</div><div class="usersT">Пол</div><div class="usersT">Страна</div><div class="usersT">Тип Аккаунта</div></div>';
	for(i=0;i<resparr.length-1;i++){
		temparr=resparr[i].split(":::");
		_objectinnerHTML+='<div class="usersR">'
		_objectinnerHTML+='<div class="usersT">'+temparr[0]+'</div>';
		_objectinnerHTML+='<div class="usersT"><a href="#_profile_'+temparr[0]+'">'+temparr[1]+'</a></div>';
		_objectinnerHTML+='<div class="usersT">'+sexs[temparr[2]]+'</div>';
		_objectinnerHTML+='<div class="usersT">'+flagimage(temparr[3])+'</div>';
		_objectinnerHTML+='<div class="usersT">'+types[temparr[4]]+'</div>';
		_objectinnerHTML+='</div>'	
	}
	_objectinnerHTML+='</div></div>';
	_object.innerHTML=_objectinnerHTML;
}
function users(){
	makeRequest("users.php?from=1&count=100",'parseusers(rt, "dcontent");loadmenu();');
	window.location=_lloc="#_users";
}

function login(){
	makeRequest("login.php?name="+encodeURI(ge("name").value)+"&pass="+encodeURI(ge("pw").value),'window.location="#_main";loadmenu();');
	window.location=_lloc="#_login";
}
function add(){
	makeRequest("add.php?"+ge("name").value+"&"+ge("descr").value+"&"+ge("text").value, "loadmenu();");
	window.location=_lloc="#_admin";
}
function loadmenu(){
	makeRequest("menu.php",'ge("menu").innerHTML=rt');
}