

//  window  resize function 
function onWindowResize()
{
//did('flying').width = tfrmt(did('head').offsetWidth/2-370);
//confirm( "sad "+ did('head').offsetWidth );
did('login').style.left = tfrmt(did('head').offsetWidth/2 - 150);
did('login_register').style.left = did('head').offsetWidth/2 - 290;
did('login_registerlicense').style.left = did('head').offsetWidth/2 -did('login_registerlicenseinner').offsetWidth/2 ;
did('loginback').style.height="1px";
did('loginback').style.width=did('head').offsetWidth;
  var bh = getyScroll();
  if (bh<(did('login_registerlicense').offsetHeight+20)) bh=did('login_registerlicense').offsetHeight+120;
  did('loginback').style.height=bh+'px';

// если что-то нужно накалякать для позиционирования объектов относительно експлорера то ... 
} //  onWindowResize 
 
// function showing userloginform
function showLoginForm(){
 did('loginback').style.height=getyScroll()+'px';
 did('loginback').style.display="block";
 did('login').style.display="block";
};

function showRegisterForm(){
 did('loginback').onclick();
 did('loginback').style.display="block";
 did('login_register').style.display="block";
 did('login_registerlicenseinner').innerHTML="";
 var ptx = function() {
 onWindowResize();
 did("backscript").value=location;
 };

 getfromapi(did('login_registerinner'), "getregisterform.php", onWindowResize);
 did('loginback').scrollIntoView(); 
};

function DivToWindow(tagdiv) {
var lid = tagdiv.id;
FormatMessageA(tagdiv);
tagdiv.id=lid;
};

function postLoginForm(){
 dw("<div class=loginback id='loginback'></div>");
 dw("<div class=login id='login'>");
 dw('<div align=center><h2>Я есть...</h2></div><form method="POST" action="http://badplace.ru/_inner_login.php"><table width=100%><tr><td align=right><b> имя: </b></td><td><input name="login">');
 dw('<input type=hidden name="back" value="' + location + '"></td></tr><tr>');
 dw('<td align=right><b> пароль: </b></td><td><input name="password" type="password"></td></tr>');
 dw('</table><br><div align=center><input style="height: 23px;" type="submit" value="Войти" name="B1"></div></form>');
 dw('  или ...<a href="#" onclick="showRegisterLicense(); return false;">регистрация?</a>');
 dw('</div>');

 dw("<div class=login_form id='login_register'><div id='login_registerinner'></div></div>");
 dw("<div class=login_register id='login_registerlicense'><div id='login_registerlicenseinner'></div></div>");

 DivToWindow(did('login'));
 DivToWindow(did('login_register'));
 DivToWindow(did('login_registerlicense'));
 did('loginback').style.left=0;
 did('loginback').style.top=0;
 
 did('loginback').onclick = function(){
	 did('loginback').style.display="none";
	 did('login').style.display="none";
	 did('login_register').style.display="none";
	 did('login_registerlicense').style.display="none";
	};
};

function showRegisterLicense() {
 did('loginback').onclick();
 did('loginback').style.display="block";
 did('login_registerlicense').style.display="block";
 getfromapi(did('login_registerlicenseinner'),"getlicense.php", onWindowResize);
};

function WriteUserString(UserName, UserId, UserString)
{
postLoginForm();

dw("<div class=usbr>");
 if (UserName=="") {
	dw('Определись, <a class="usbr_href" href="#" onclick="showLoginForm(); return false;">кто ты</a> или <a class="usbr_href" href="#" onclick="showRegisterForm(); return false;">зарегистрируйся</a>.');
    } else {
	var mo="<table width=100%><tr><td align=left>";
	mo+="Вы <b>" + UserName +"</b>";
	var lusrsts = trim(UserString);
	if (lusrsts.length==0) lusrsts="<i>не установлен</i>";
	mo+=', ваш статус: <font id="userstatusid"><a id="userstatusidinput" class="usbr_href" href="#" onclick="ReplaceUserStatusOnForm(); return false;">'+lusrsts+'</a> </font>';
	mo+='</td><td align=right>';
	mo+=" <a href=\"#\" class=\"usbr_href\" onclick='setCookie(\"login\", \"\", \"Friday,25-Feb-2000 12:00:00 GMT\");setCookie(\"word\", \"\", \"Friday,25-Feb-2000 12:00:00 GMT\"); location=location; return false;'>выйти</a>";
	mo+="</td></tr></table>"
	dw(mo);
 } // Есть имя пользователя
dw("</div>");

window.onresize = onWindowResize;
onWindowResize();

}; //function WriteUserString(UserName, UserId, UserString)

function ReplaceUserStatusOnForm(){
	var ts=document.getElementById('userstatusidinput').innerHTML;
	if (ts=="<I>не установлен</I>") {ts="";};
	did('userstatusid').innerHTML=' <input id="userstatusidinput" maxlength="35" onkeydown="if (event.keyCode==13) SubmitStatus();" " onChange="SubmitStatus();" OnBlur="SubmitStatus();" onfocus="this.select()" type="text" name="statustext" size="20" style="margin:-2 0" value="'+ts+'">';
	did('userstatusidinput').focus();
	did('userstatusidinput').focus();
}//function ReplaceUserStatusOnForm()

function SubmitStatus()
{
	var newSTMSG = did("userstatusidinput").value;
	var gomsg = function() {
	  did('userstatusid').innerHTML=' обновление статуса ... ';
};

var errormsg = function() {
  	did('userstatusid').innerHTML=' ошибка обновления ';
};
var goodmsg = function($txt) {
  if ($txt=="true") { 
if (newSTMSG.length==0){
         did('userstatusid').innerHTML='<a id="userstatusidinput" class="usbr_href" href="#" onclick="ReplaceUserStatusOnForm(); return false;"><i>не установлен</i></a>';
	 if (did('userboxstatus')!==null) { did('userboxstatus').innerHTML="<i>не установлен</i>";};
} else { 
	 did('userstatusid').innerHTML='<a id="userstatusidinput" class="usbr_href" href="#" onclick="ReplaceUserStatusOnForm(); return false;">' + htmlspecialchars(newSTMSG) + '</a>';
 	 if (did('userboxstatus')!==null) { did('userboxstatus').innerHTML=htmlspecialchars(newSTMSG);};
};} else { confirm($txt);  did('userstatusid').innerHTML=' отказ обновления ';}
};

 var ax = GetNewAJAX(goodmsg, gomsg, errormsg);
 ax.addPOST("newstatus", newSTMSG);
 ax.request("../API/setuserstatus.php");

}//function SubmitStatus()

function SendStatus(newSTMSG)
{

document.getElementById('userstatusid').innerHTML=' обновление статуса ... ';
if (loadHTML("API/setuserstatus.php?newstatus="+((newSTMSG)))=="true") {
if (newSTMSG.length==0){
         document.getElementById('userstatusid').innerHTML='<a id="userstatusidinput" class="WhiteUA" href="#" onclick="ReplaceUserStatusOnForm(); return false;"><i>не установлен</i></a>';
} else { document.getElementById('userstatusid').innerHTML='<a id="userstatusidinput" class="WhiteUA" href="#" onclick="ReplaceUserStatusOnForm(); return false;">' + htmlspecialchars(newSTMSG) + '</a>';
};
} else
{
document.getElementById('userstatusid').innerHTML=' ошибка обновления ';
}
}//function SendStatus(newSTMSG);
function FormatMessageA(Element)
{
 var INHTML = Element.innerHTML;
     Element.innerHTML = '<table border="0" cellpadding="5" id="msgtbl" class=sheetalone><tr><td id="msgtd1" class=sheetalone1 valign=middle><div id=sheetbody>' + INHTML + '</div></td></tr><tr><td id="msgtd2" class=sheetalone2></td></tr></table>';

}//function FormatMessageA(Element)


function CreateChat(Channel, cName, useDirectAppendToObject) {
 CURRENTCHAT=Channel;
 var out="";
 out+=("<div class='nocentertable' id='kryakrya"+Channel+"'>");
 out+=("<div id='chat"+Channel+"'>");
 out+=("<b>"+cName+"</b>");
 out+=("<div id='chatform"+Channel+"'>");
 out+=("<input type=hidden id=\"currentstatus"+Channel+"\" value=0>");
 out+=("<input type=hidden id=\"currentpage"+Channel+"\" value=0>");
 out+=("<input type=hidden id=\"timervalue"+Channel+"\" value=0>");
 out+=("<input type=hidden id=\"editmessage"+Channel+"\" value=0>");
 out+=('<input onkeydown="if (event.keyCode==13) { did(\'send'+Channel+'\').onclick();}" type="text" size="84" id="chatinput'+Channel+'">');
 out+=(' <input type="button" value="отправить" id="send'+Channel+'">');
 out+=('<br> <input type="button" value="отменить редактирование" id="xcancel'+Channel+'" style="display:none;">');
 out+=("</div>");
 out+=("<div id='chatarea"+Channel+"'>");
 out+=("</div>");
 out+=("</div>");
 out+=("</div>");
 if (typeof(useDirectAppendToObject)!=="undefined") dwb(useDirectAppendToObject, out); else dw(out);

 FormatMessageA(did('kryakrya'+Channel));
 
 did("timervalue"+Channel).value = setTimeout("ChatTMR("+Channel+")",00);
 
 did('xcancel'+Channel).onclick = function (){
	  did("editmessage"+Channel).value=0;
	  did('chatinput'+Channel).value="";
          did('send'+Channel).value="отправить";
	  did('xcancel'+Channel).style.display="none";
 };
 did("send"+Channel).onclick = function(){
   bryack = function(text1){
   did("send"+Channel).disabled=false;
   var SetPage=-1
   if ((""+did('xcancel'+Channel).style.display)!=="none") {
   	if ((""+did("currentpage"+Channel).value)!=="0") {
          SetPage = did("currentpage"+Channel).value; 
	};
   }; // значит было исправление, то 
   did("xcancel"+Channel).onclick();
   if (text1=="true") {
   did("chatinput"+Channel).value = "";
   if ((SetPage)==-1) ChatTMR(Channel); else RefreshChat(Channel, SetPage);
   };
   };
   fuckyfuck = function(){
   did("send"+Channel).disabled=false;
   did('xcancel'+Channel).onclick();
   };
   procprocproc = function(){
   did("send"+Channel).value= "отправляется";
   did("send"+Channel).disabled=true;   
   };
   var xx = GetNewAJAX(bryack, fuckyfuck, procprocproc);
   xx.addPOST("Channel", Channel);
   xx.addPOST("msg", did("chatinput"+Channel).value);
   if ((""+did("editmessage"+Channel).value)!=="0") {
   xx.addPOST("msgID", did("editmessage"+Channel).value);
   };
   xx.request("API/sendchatmessage.php");
   }; // did("send"+Channel).onclick  

}; // function CreateChat(Channel) 

function ChatTMR(Channel) {
 var complitetmr = function(text1, text2) {
 if (did("currentstatus"+Channel)!==null) {
 if ((""+did("currentstatus"+Channel).value)!==text1) {
    RefreshChat(Channel);
    did("currentstatus"+Channel).value=text1;
 };
 did("timervalue"+Channel).value = setTimeout("ChatTMR("+Channel+")",500);
 };};

 var ax = GetNewAJAX(complitetmr);
 ax.addPOST("Channel", Channel);
 ax.request("API/getchatstatus.php");
}; //function ChatTMR(Channel){

function  RefreshChat(Channel, Page) {
 var comlitecget = function(text1, text2) {
 var ms = text1.split("\n");
 var mscount = ms[0];
 var i= 1; 
 var out="";
 var countrecs=0;
 var digits="";
 while (ms.length>i+5){
	out+= "<tr class='chatmessage' id='cmsg"+ms[i]+"'>";
 	out+= "<td class='chatrecord' ondblclick=\"EditChatMessage("+Channel+", "+ms[i]+");\"><span class=context> " + ms[i+4]+" : </span> <b>" + ms[i+2]+"</b><span class=context> "+unescape(ms[i+3])+" :</span> "+ms[i+5]+"</td>";
	out+= "</tr>";
	i+=6;
        countrecs+=1;
 };
  out = "<div class=chatbody><table width=100% cellspacing='0' cellpadding='0' >" + out + "</table></div>";
 i= (mscount-mscount%35)/35+1;
 if ((mscount%35)==0) i+=-1;
 if (typeof(Page)=="undefined") {
 while (i>=1){
   if((i)==Page) { 
   digits+="<span class=digit>"+(i)+"</span> ";
   } else {
   digits+="<a href='#' class=digit onclick=\"RefreshChat("+Channel+", "+(i)+"); return false;\" onFocus=\"this.blur();\">"+(i)+"</a> ";
   };
   i+=-1;
 };
   digits="<a href='#' class=digit onclick=\"RefreshChat("+Channel+"); return false;\" onFocus=\"this.blur();\">режим чата</a> "+digits;
 } else {
 while (i>=1){
   if((i)==Page) { 
   digits="<span class=digit>"+(i)+"</span> " +digits;
   } else {
   digits="<a href='#' class=digit onclick=\"RefreshChat("+Channel+", "+(i)+"); return false;\" onFocus=\"this.blur();\">"+(i)+"</a> "+digits;
   };
   i+=-1;
 };
   digits+="<a href='#' class=digit onclick=\"RefreshChat("+Channel+"); return false;\" onFocus=\"this.blur();\">режим чата</a>"
 };

 
 if (typeof(Page)!=="undefined") {
   did("currentpage"+Channel).value=Page;
   out = digits+"<br> <span class=context>Показаны записи с "+((Page-1)*35+1)+" по "+(((Page-1)*35)+countrecs)+" порядок сверху вниз </span>" + out;
 } else { 
   out+="<span class=context> Всего записей в канале "+mscount+", порядок снизу вверх</span><br>"+digits; 
   did("currentpage"+Channel).value=0;
 };
 did("chatarea"+Channel).innerHTML = out;
 
 };
 var ax=GetNewAJAX(comlitecget);
 ax.addPOST("Channel", Channel);
 if (typeof(Page)!=="undefined") {
 ax.addPOST("Page", Page);
   if (did("timervalue"+Channel).value!==0) {
	 clearTimeout(did("timervalue"+Channel).value);
	 did("timervalue"+Channel).value=0;
    };
 } else {
   if (did("timervalue"+Channel).value==0) {
      did("timervalue"+Channel).value = setTimeout("ChatTMR("+Channel+")",500);
   };
 };
 ax.request("API/getchat.php");
}; //function  RefreshChat(Channel, Page) {

function EditChatMessage(Channel, msgID){
 var ptxEditChatMessage= function(readymsg){
    if (readymsg!=="") {
	did("editmessage"+Channel).value = msgID;
	did("chatinput"+Channel).value=humanstringdecode(readymsg);
	did('xcancel'+Channel).style.display="";
        did('send'+Channel).value="исправить";
 	did('chatinput'+Channel).focus();

    } else {
        did('xcancel'+Channel).onclick();
    };
  };
  var ax=GetNewAJAX(ptxEditChatMessage);
  ax.addPOST("Channel", Channel);
  ax.addPOST("msgID", msgID);
  ax.request("API/editchatmessage.php");

}; //function EditChatMessage(Channel, msgID){


function SlowDown(id)
{
maxxx=did(id).offsetHeight;
did(id).style.height = 1;
did(id).style.position = "static";
did(id).style.visibility = "visible";
SlowDown_int(id, 1, maxxx);
};

function SlowDown_int(id, zero, maxxx)
{
if (zero>=maxxx-maxxx/25) {
did(id).style.height = "auto";
} else 
{ 
did(id).style.height = zero;
zero+=(maxxx-zero)/30+8;
setTimeout("SlowDown_int('"+id+"', "+zero+", "+maxxx+")",05);
};
}; //SlowDown_int 
