function g(e){
return document.getElementById(e);
}

GOT=new Array();
FULL=new Array();
CONF=new Array();
req=new Array();
prevpage=new Array();
prevcolor=new Array();
err_notlog="Для сохранения настроек пройдите Быструю регистрацию";
err_reg="Для использования функций персонализации пройдите быструю регистрацию";
 
function doLoad(act, block, id, refresh) {
if(!FULL[block]){FULL[block]=new Array();}
  if(act=='loadfull' && FULL[block][id]){
    op(block, id);
  }else{
    if(act=='loadlist' && GOT[block]){
      page(0, block);
    }else{
        g('statusdiv_'+block).style.display='';
        if(act=='loadfull'){
                g('status_'+block).innerHTML='Загрузка новости...';
        }else{
                g('status_'+block).innerHTML='Загрузка ленты новостей...';
        }
        req[block] = new JsHttpRequest();
        
        req[block].onreadystatechange = function() {
                if (req[block].readyState == 4) {
                   if(act=='loadfull'){
                        FULL[block][id] = req[block].responseJS;
                        op(block, id);
                   }else{
                     if(req[block].responseText.length>2){
                      GOT[block]=new Array();
                      GOT[block]['chanTitle']='Ошибка';
                      GOT[block]['chanLink']='';
                      title(block, false);
                      g('statusdiv_'+block).style.display='none';
                      g('result_'+block).innerHTML='<br><br><br><center><b>'+req[block].responseText+'</b></center><br><br><br>';
                     }else{
                        GOT[block] = req[block].responseJS;
                        title(block, false);
                        if(CONF[block]['c']!=1){page(0, block);}else{g('result_'+block).innerHTML='';}
                     }
                   }
                   g('statusdiv_'+block).style.display='none';
                }
        }
        
        req[block].open(null, '/rss.php', true);
                   value=CONF[block]['u'];
                   if(act=='loadfull'){
        req[block].send({q:value,a:act,i:id});
                   }else{
        req[block].send({q:value,a:act,r:refresh});
                   }
    }
  }
}

function loadconf(block, refresh){
        g('statusdiv_'+block).style.display='';
        g('status_'+block).innerHTML='Загрузка настроек блока...';
        req[block] = new JsHttpRequest();
        req[block].onreadystatechange = function() {
                if (req[block].readyState == 4) {
                        if(req[block].responseText!='ok'){
                                g('status_'+block).innerHTML='Ошибка! ('+req[block].responseText+')';
                        }else{
                                CONF[block]=req[block].responseJS;
                                g('block_'+block).style.background='#'+CONF[block]['bg'];
                                doLoad('loadlist', block, 0, refresh);
                        }
                }
        }
        req[block].open(null, '/a', true);
        req[block].send({q:block,a:'load'});
}


function saveconf(block){
if(user==1 &&md5==''){alert(err_reg);}else{
        g('statusdiv_'+block).style.display='';
        g('status_'+block).innerHTML='Сохранение настроек...';
        g('confdiv_'+block).style.display='none';

        req[block] = new JsHttpRequest();
        req[block].onreadystatechange = function() {
                if (req[block].readyState == 4) {
                        if(req[block].responseText!='ok'){
                                g('status_'+block).innerHTML='Ошибка! ('+req[block].responseText+')';
                        }else{
                                g('statusdiv_'+block).style.display='none';
                                GOT[block]=null;
                                FULL[block]=null;
                                loadconf(block);
                        }
                }
        }

        req[block].open(null, '/a', true);
        if(g('autoname_'+block).checked==true){nm=-1;}else{nm=g('name_'+block).value;}
        if(g('showdesc_'+block).checked==true){sd=1;}else{sd=0;}
        req[block].send({u:user,m:md5,q:block,a:'save',url:g('url_'+block).value,npp:g('npp_'+block).value,desc:sd,color:prevcolor[block],name:nm});
}
}


function clconf(block){
        g('confdiv_'+block).style.display='none';
}


function title(block, back){
        buf='';
        var h = g('head_'+block);
        var bl = GOT[block];
        if(CONF[block]['n']==-1){ct=bl.chanTitle;}else{ct=CONF[block]['n'];}
        if(bl.chanLink.length<3){bl.chanLink='http://sufix.ru/';}
        buf = '<div class=bh><img src="/img.php?url='+bl.chanLink+'favicon.ico"> &nbsp; <a href='+bl.chanLink+'><b>'+ct+'</b></a></div>';
        if(back){buf += '<div class=bbb><div class="but7" id="butback_'+block+'" onmouseover="this.className=\'but7_h\'" onmouseout="this.className=\'but7\'" onClick="page('+prevpage[block]+', '+block+', true)"></div></div>';}
        buf += '<div class=bb>';
        buf += '<div class="but0" onmouseover="this.className=\'but0_h\'" onmouseout="this.className=\'but0\'" onClick="GOT['+block+']=null;FULL['+block+']=null;loadconf('+block+', 1);"></div>';
        buf += '<div class="but1" onmouseover="this.className=\'but1_h\'" onmouseout="this.className=\'but1\'" onClick="opconf('+block+');"></div>';
        buf += '<div class="but2" onmouseover="this.className=\'but2_h\'" onmouseout="this.className=\'but2\'" onClick="opmove('+block+');"></div>';
        if(CONF[block]['c']==0){buf += '<div class="but5" onmouseover="this.className=\'but5_h\'" onmouseout="this.className=\'but5\'" onClick="col('+block+');"></div>';}
        if(CONF[block]['c']==1){buf += '<div class="but4" onmouseover="this.className=\'but4_h\'" onmouseout="this.className=\'but4\'" onClick="exp('+block+');"></div>';}
        buf += '<div class="but3" onmouseover="this.className=\'but3_h\'" onmouseout="this.className=\'but3\'" onClick="if(confirm(\'Вы уверены что хотите удалить блок?\')){clblock('+block+');}"></div>';
        buf += '</div>';
        h.innerHTML = buf;
        buf='';
        if(back){blinkb('butback_'+block);}
}


function clear(block){
        var o = g('result_'+block);
        buf = '<br class=br>';
    if(CONF[block]['d']==1){
        var bl = GOT[block];
        if(bl.imgLink){
        buf += '<a href='+bl.imgLink+'><img src="/img.php?half&url='+bl.imgUrl+'" alt='+bl.imgTitle+' border=0 style="float:left;margin-right:5px"></a>';
        }else{
        if(bl.imgUrl){buf += '<img src="/img.php?half&url='+bl.imgUrl+'" alt='+bl.imgTitle+' border=0 style="float:left;margin-right:5px">';}
        }
        if(bl.chan.desc){
          d=bl.chan.desc;
          if(d.length>120){d=d.substring(0,120)+"...";}
          buf += '<span style="font-size:10px">'+d+'</span>';
        }
        buf += '<div class=clr></div>';
    }
        o.innerHTML = buf;
        buf='';
}
 
function page(page, block, back){
        pp=parseInt(CONF[block]['p']);
        prevpage[block]=page;
        clear(block);
        var o = g('result_'+block);
        var bl = GOT[block];
        var itemCount = bl.count;
        var start = page*pp;
        var end = start+pp;
        var pages = itemCount <= pp ? 0 : Math.ceil(itemCount/pp);

        end = end > itemCount ? itemCount : end;
        buf = '<ol type="1" start="'+(start+1)+'">';
        for (var i = start; i < end; i++) {
                var item = bl[i];
                buf  += '<li><a href="javascript:void(0);" onClick="doLoad(\'loadfull\', '+block+', '+i+');">'+item.t+'</a></li>';
        }
        o.innerHTML += buf+'</ol>';
pprev=page-1;
pnext=page+1;
buf='';
buf += '<br><table class="pg" align="center" cellpadding="0" cellspacing="1"><tr>';
if(pprev >= 0){buf += '<td class="h"><a href="javascript:void(0);" onClick="page('+pprev+','+block+');"> &#8592; </a></td>';}else{buf += '<td class="h"> &#8592; </td>';}
        for (i = 0;i<pages ;i++)        {
                if (i==page) {
                        buf += '<td class="h">'+(i+1)+'</td>';
                        continue;
                }
 
                buf += '<td><a href="javascript:void(0);" onClick="page('+i+','+block+');">'+(i+1)+'</a></td>';
        }
if(pnext < pages){buf += '<td class="h"><a href="javascript:void(0);" onClick="page('+pnext+','+block+');"> &#8594; </a></td>';}else{buf += '<td class="h"> &#8594; </td>';}
buf += '</tr></table>';
o.innerHTML += buf;
buf='';
        if(back){title(block);}
}
 
function op(block, id){
        var o = g('result_'+block);
        var bl = GOT[block];
        var fl = FULL[block][id];
        var item = bl[id];
        title(block, true);
        clear(block);
        o.innerHTML += '<h3><a href="'+fl.link+'" target="_blank">'+item.t+'</a></h3>';
        if(fl.img){o.innerHTML += '<img src="/img.php?url='+fl.img+'"><br>';}
        if(fl.auth){o.innerHTML += 'Автор: '+fl.auth+'<br>';}
        if(fl.cat){o.innerHTML += 'Категория: '+fl.cat+'<br>';}
        o.innerHTML += 'Дата: '+fl.date+'<br><br>';
        o.innerHTML += fl.desc;
        fprev=id-1;
        fnext=id+1;
        buf='<br><table width=100% style="font-size:10px"><tr>';
        if(fprev>=0){buf+="<td width=50% align=left><a href='javascript:void(0)' onclick='doLoad(\"loadfull\", "+block+", "+fprev+")'>Предыдущая</a></td>";}else{buf+="<td width=50%>&nbsp;</td>";}
        if(fnext<GOT[block]['count']){buf+="<td width=50% align=right><a href='javascript:void(0)' onclick='doLoad(\"loadfull\", "+block+", "+fnext+")'>Следующая</a></td>";}else{buf+="<td width=50%>&nbsp;</td>";}
        o.innerHTML += buf + '</tr></table>';
        buf='';
}

function opmove(block){
g('movediv_'+block).style.display='';
}

function closemove(block){
g('movediv_'+block).style.display='none';
}

function moveblock(block, dir){
if(user==1 &&md5==''){alert(err_reg);}else{

buff=new Array();
sbuff=new Array();
for(i=0;i<bll.length;i++){
buff[bll[i]]=g('block_'+bll[i]).innerHTML;
sbuff[bll[i]]=g('block_'+bll[i]).style.backgroundColor;
if(bll[i]==block){tmp=i;}
}

i=tmp;

if(dir=='up'){
 if(i==0){
  alert('Ну куда уж выше');
 }else{
  ttmp=bll[i-1]; bll[i-1]=bll[i]; bll[i]=ttmp;
 }
}

if(dir=='down'){
 if(i==bll.length-1){
  alert('Ну куда уж ниже');
 }else{
  ttmp=bll[i+1]; bll[i+1]=bll[i]; bll[i]=ttmp;
 }
}

if(dir=='top'){
 if(i==0){
  alert('Ну куда уж выше');
 }else{
  ttmp=bll[0]; bll[0]=bll[i]; bll[i]=ttmp;
 }
}

if(dir=='bot'){
 if(i==bll.length-1){
  alert('Ну куда уж ниже');
 }else{
  ttmp=bll[bll.length-1]; bll[bll.length-1]=bll[i]; bll[i]=ttmp;
 }
}

g('blocks').innerHTML='';
for(i=0;i<bll.length;i++){
g('blocks').innerHTML+='<div class="b1" style="background:#E6E4CC" id="block_'+bll[i]+'">'+buff[bll[i]]+'</div>';
g('block_'+bll[i]).style.backgroundColor=sbuff[bll[i]];
}

        req['m'+block] = new JsHttpRequest();
        req['m'+block].onreadystatechange = function() {
                if (req['m'+block].readyState == 4) {
                    if(req['m'+block].responseText.length>1){alert("Ошибка при сохранении настроек: "+req['m'+block].responseText);}
                }
        }
        req['m'+block].open(null, '/a', true);
        jbll=bll.join(',');
        req['m'+block].send({u:user,m:md5,q:jbll,a:'b'});
}
}

function opconf(block){
        if(CONF[block]['c']==1){exp(block);}
        var cd = g('confdiv_'+block);
        var n=g('name_'+block);
        cd.style.display='';
        cn=CONF[block]['n'];
        if(cn==-1){
                n.disabled=true;
                n.className='i2d';
                n.value='';
                g('autoname_'+block).checked=true;
        }else{
                n.disabled=false;
                n.className='i2';
                n.value=cn;
                g('autoname_'+block).checked=false;
        }
        g('showdesc_'+block).checked=(CONF[block]['d']==1?true:false);
        g('url_'+block).value=CONF[block]['u'];
        g('npp_'+block).value=CONF[block]['p'];
        selectbg(block, CONF[block]['bg']);
}


function selectbg(block, color){
        o=g(color+block);
        o.style.borderWidth='2px';
        o.style.width='18px';
        o.style.height='13px';
        if(prevcolor[block] && prevcolor[block]!=color){
                op=g(prevcolor[block]+block);
                op.style.borderWidth='1px';
                op.style.width='20px';
                op.style.height='15px';
        }
        prevcolor[block]=color;
}


function disname(block){
        if(g('autoname_'+block).checked){
                g('name_'+block).disabled=true;
                g('name_'+block).className='i2d';
        }else{
                g('name_'+block).disabled=false;
                g('name_'+block).className='i2';
        }
}


function newblock(block, refresh){
b=g('blocks');
b.innerHTML+='\
<div class="b1" style="background:#E6E4CC" id="block_'+block+'"><img src="/ut.png" class=ut><br>\
  <div style="z-index:101;overflow:hidden;width:290px;height:140px;position:absolute;left:10px;top:3px;padding:2px;display:none;border:1px solid #555" id="confdiv_'+block+'">\
    <img src="/t.png" style="position:absolute;top:0;left:0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/t.png); width:expression(1); height:expression(1);">\
    <div style="position:absolute">\
      <form>\
        <table>\
          <tr>\
            <td>Name:</td><td><input name="name" class=i2 value="" type="text" id="name_'+block+'"> <input type="checkbox" id="autoname_'+block+'" onclick="disname('+block+');">auto</td>\
          </tr><tr>\
              <td>URL:</td><td><input name="text" class=i2 value="" type="text" id="url_'+block+'"></td>\
          </tr><tr>\
              <td>Items per page:</td><td><input name="npp" class=i1 value="" type="text" id="npp_'+block+'" onchange="if(this.value>99 || this.value<1){alert(\'wrong value\');this.value=\'10\';}"> (1-99)</td>\
          </tr><tr>\
              <td>Описание канала:</td><td><input type="checkbox" id="showdesc_'+block+'"></td>\
          </tr><tr>\
              <td>Background:</td><td>\
              <div id="D1CEA3'+block+'" style="float:left;cursor:pointer;height:14px;width:20px;overflow:hidden;border:1px solid #000;background:#D1CEA3;" onclick="selectbg('+block+', \'D1CEA3\');"></div>\
              <div id="E6E4CC'+block+'" style="float:left;cursor:pointer;margin-left:5px;height:14px;width:20px;overflow:hidden;border:1px solid #000;background:#E6E4CC;" onclick="selectbg('+block+', \'E6E4CC\');"></div>\
              <div id="EFEDDD'+block+'" style="float:left;cursor:pointer;margin-left:5px;height:14px;width:20px;overflow:hidden;border:1px solid #000;background:#EFEDDD;" onclick="selectbg('+block+', \'EFEDDD\');"></div>\
              <div id="F5F4EA'+block+'" style="float:left;cursor:pointer;margin-left:5px;height:14px;width:20px;overflow:hidden;border:1px solid #000;background:#F5F4EA;" onclick="selectbg('+block+', \'F5F4EA\');"></div>\
              <div id="FAF9F4'+block+'" style="float:left;cursor:pointer;margin-left:5px;height:14px;width:20px;overflow:hidden;border:1px solid #000;background:#FAF9F4;" onclick="selectbg('+block+', \'FAF9F4\');"></div>\
              <div id="FFF'+block+'" style="float:left;cursor:pointer;margin-left:5px;height:14px;width:20px;overflow:hidden;border:1px solid #000;background:#FFF;" onclick="selectbg('+block+', \'FFF\');"></div>\
              </td>\
          </tr><tr>\
              <td colspan=2 align="center">\
              <input value="Save" onclick="saveconf('+block+');" type="button">\
              <input value="Cancel" onclick="clconf('+block+');" type="button">\
              </td>\
          </tr>\
        </table>\
      </form>\
    </div>\
  </div>\
  <div id="statusdiv_'+block+'" style="z-index:100;overflow:hidden;position:absolute;padding:2px;display:none;width:360px;height:15px;border:1px solid #555">\
    <img src="/t.png" style="position:absolute;top:0;left:0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/t.png); width:expression(1); height:expression(1);">\
    <div style="position:absolute;text-align:center;width:100%;">\
      <img src=/load.gif> <span id="status_'+block+'"></span>\
    </div>\
  </div>\
  <div id="movediv_'+block+'" style="z-index:101;overflow:hidden;width:130px;height:95px;position:absolute;right:40px;top:15px;padding:2px;display:none;border:1px solid #555">\
    <img src="/t.png" style="position:absolute;top:0;left:0;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/t.png); width:expression(1); height:expression(1);">\
    <div style="position:absolute;width:100%;">\
      <a href="javascript:void(0)" onclick="moveblock('+block+', \'top\')">Переместить наверх</a><br>\
      <a href="javascript:void(0)" onclick="moveblock('+block+', \'up\')">Переместить выше</a><br>\
      <a href="javascript:void(0)" onclick="moveblock('+block+', \'down\')">Переместить ниже</a><br>\
      <a href="javascript:void(0)" onclick="moveblock('+block+', \'bot\')">Переместить вниз</a><br>\
      <div style="width:100%;text-align:center;margin-top:10px"><input value=" OK " onClick="closemove('+block+')" type="button"></div>\
    </div>\
  </div>\
  <span id="head_'+block+'"></span>\
  <div class=pad id="result_'+block+'"><br></div>\
<img src="/ub.png" class=ub></div>\
';
loadconf(block, refresh);
}

function clblock(block){
if(user==1 &&md5==''){alert(err_reg);}else{
        g('statusdiv_'+block).style.display='';
        g('status_'+block).innerHTML='Удаление блока...';

        req[block] = new JsHttpRequest();
        req[block].onreadystatechange = function() {
                if (req[block].readyState == 4) {
                        if(req[block].responseText!='ok'){
                                g('status_'+block).innerHTML='Ошибка! ('+req[block].responseText+')';
                        }else{
                                GOT[block]=null;
                                FULL[block]=null;
                                g('blocks').removeChild(g('block_'+block));
                                tmp=new Array();
                                for(i=0;i<bll.length;i++){
                                      if(bll[i]!=block){tmp[tmp.length]=bll[i];}
                                }
                                bll=tmp;
                        }
                }
        }
        req[block].open(null, '/a', true);
        req[block].send({u:user,m:md5,q:block,a:'del'});
}
}

function createblock(){
if(user==1 &&md5==''){alert(err_reg);}else{
        o=g('gstatus');
        o.style.display='';
        o.innerHTML='<img src=/load.gif> Создание нового блока...';
        req[-1] = new JsHttpRequest();
        req[-1].onreadystatechange = function() {
                if (req[-1].readyState == 4) {
                        if(req[-1].responseText!='ok'){
                                g('gstatus').innerHTML='<span style="color:red">Ошибка!</span> ('+req[-1].responseText+')';
                        }else{
                                newblock(req[-1].responseJS);
                                g('gstatus').style.display='none';
                                bll[bll.length]=req[-1].responseJS;

                        }
                }
        }
        req[-1].open(null, '/a', true);
        req[-1].send({u:user,m:md5,a:'add'});
}
}


function loadblocks(refresh){
        GOT=null;
        FULL=null;
        CONF=null;
        req=null;
        prevpage=null;
        prevcolor=null;
        GOT=new Array();
        FULL=new Array();
        CONF=new Array();
        req=new Array();
        prevpage=new Array();
        prevcolor=new Array();
        g('blocks').innerHTML='';

        o=g('gstatus');
        o.style.display='';
        o.innerHTML='<img src=/load.gif> Загрузка списка блоков...';
        req[0] = new JsHttpRequest();
        req[0].onreadystatechange = function() {
                if (req[0].readyState == 4) {
                        if(req[0].responseText!='ok'){
                                g('gstatus').innerHTML='<span style="color:red">Ошибка!</span> ('+req[0].responseText+')';
                        }else{
                                bll=req[0].responseJS;
                                if(bll[0]>0){
                                      for(i=0;i<bll.length;i++){newblock(bll[i], refresh);}
                                      g('gstatus').style.display='none';
                                }else{
                                      g('gstatus').innerHTML='Ошибка! (Не найдено ни одного блока)';
                                }
                        }
                }
        }
        req[0].open(null, '/a', true);
        req[0].send({u:user,a:'lb'});
}

function col(block){
if(user==1 &&md5==''){alert(err_reg);}else{
        CONF[block]['c']=1;
        g('result_'+block).innerHTML='';
        req[block] = new JsHttpRequest();
        req[block].onreadystatechange = function() {
         if(req[block].responseText.length>1){alert("Ошибка при сохранении настроек: "+req[block].responseText);}
         title(block);
        }
        req[block].open(null, '/a', true);
        req[block].send({u:user,m:md5,q:block,a:'c'});
}
}

function exp(block){
if(user==1 &&md5==''){alert(err_reg);}else{
        CONF[block]['c']=0;
        if(prevpage[block]){
                page(prevpage[block], block)
        }else{
                page(0, block)
        }
        req[block] = new JsHttpRequest();
        req[block].onreadystatechange = function() {
         if(req[block].responseText.length>1){alert("Ошибка при сохранении настроек: "+req[block].responseText);}
         title(block);
        }
        req[block].open(null, '/a', true);
        req[block].send({u:user,m:md5,q:block,a:'e'});
}
}

function colall(){
if(user==1 &&md5==''){alert(err_reg);}else{
  for(n=0;n<bll.length;n++){col(bll[n]);}
}
}

function expall(){
if(user==1 &&md5==''){alert(err_reg);}else{
  for(n=0;n<bll.length;n++){exp(bll[n]);}
}
}

//register, login
function register(){
        g('reg_button').className="but_reg_disabled";
        reg_but_disabled=true;
        req[128] = new JsHttpRequest();
        req[128].onreadystatechange = function() {
                if (req[128].readyState == 4) {
                        if(req[128].responseText!='ok'){
                                alert('Ошибка! ('+req[128].responseText+')');
                                g('reg_button').className="but_reg";
                                reg_but_disabled=false;
                        }else{
                                alert('OK! Теперь заходите под своим аккаунтом');
                        }
                }
        }
        req[128].open(null, '/a', true);
        user=g('reg_name').value;
        pass=g('reg_pass').value;
        req[128].send({u:user,p:pass,a:'reg'});
}

function login(){
        g('log_button').className="but_enter_disabled";
        log_but_disabled=true;
        req[128] = new JsHttpRequest();
        req[128].onreadystatechange = function() {
                if (req[128].readyState == 4) {
                        if(req[128].responseText!='ok'){
                                alert('Ошибка! ('+req[128].responseText+')');
                                g('log_button').className="but_enter";
                                log_but_disabled=false;
                        }else{
                                tmp = req[128].responseJS;
                                user=tmp.i;
                                uname=tmp.n;
                                md5=tmp.m;
                                GOT=new Array();
                                FULL=new Array();
                                CONF=new Array();
                                alert('Добро пожаловать '+uname);
                                g('blocks').innerHTML='';
                               if(getCookie('on')!=0){loadblocks();}
                                loadzam();
                                document.cookie='l='+user+'?'+uname+'?'+md5+'?; path=/; expires=Thu, 17-Aug-2010 08:06:58 GMT';
                                g('loggedas').innerHTML='Вы вошли как: '+uname;
                               if(getCookie('on')!=0){lrform(2);}else{lrform(3);}
                        }
                }
        }
        req[128].open(null, '/a', true);
        user=g('log_name').value;
        pass=g('log_pass').value;
        req[128].send({u:user,p:pass,a:'log',md5:'0'});
}

function blink(e){
setTimeout("g('"+e+"').style.backgroundImage='none';g('"+e+"').style.backgroundColor='#F00';", 500);
setTimeout("g('"+e+"').style.backgroundImage='url(/inp.gif)';g('"+e+"').style.backgroundColor='transparent';", 1000);
setTimeout("g('"+e+"').style.backgroundImage='none';g('"+e+"').style.backgroundColor='#F00';", 1500);
setTimeout("g('"+e+"').style.backgroundImage='url(/inp.gif)';g('"+e+"').style.backgroundColor='transparent';", 2000);
}

function blinkb(e){
setTimeout("g('"+e+"').className='but7_h';", 300);
setTimeout("g('"+e+"').className='but7';", 600);
setTimeout("g('"+e+"').className='but7_h';", 900);
setTimeout("g('"+e+"').className='but7';", 1200);
setTimeout("g('"+e+"').className='but7_h';", 1500);
setTimeout("g('"+e+"').className='but7';", 1800);
}

function loadzam(){
        req[96] = new JsHttpRequest();
        req[96].onreadystatechange = function() {
                if (req[96].readyState == 4) {
                        if(req[96].responseJS.s!='ok'){
                                g('zam').innerHTML='Ошибка! ('+req[96].responseJS.s+')';
                        }else{
                                zam_saved = req[96].responseText;
                                zamc = req[96].responseJS.zc;
                                calc = req[96].responseJS.cc;
                                g('zam').value=zam_saved;
                                zam_check();
                                if(zamc==1){zamcol(true);}else{zamexp(true);}
                                if(calc==1){calcol(true);}else{calexp(true);}
                        }
                }
        }
        req[96].open(null, '/a', true);
        req[96].send({u:user,a:'lz'});
}

function zamcol(ns){
        zamc=1;
        g('notes1').style.height="20px";
        g('zcb').innerHTML='<div onclick="zamexp()" class="but4" onmouseover="this.className=\'but4_h\'" onmouseout="this.className=\'but4\'"></div>';
     if(!ns){
        req[192] = new JsHttpRequest();
        req[192].onreadystatechange = function() {
           if(req[192].responseText.length>1){alert("Ошибка при сохранении настроек: "+req[192].responseText);}
        }
        req[192].open(null, '/a', true);
        req[192].send({u:user,m:md5,a:'zc'});
     }
}

function zamexp(ns){
        zamc=0;
        g('notes1').style.height="134px";
        g('zcb').innerHTML='<div onclick="zamcol()" class="but5" onmouseover="this.className=\'but5_h\'" onmouseout="this.className=\'but5\'"></div>';
     if(!ns){
        req[192] = new JsHttpRequest();
        req[192].onreadystatechange = function() {
           if(req[192].responseText.length>1){alert("Ошибка при сохранении настроек: "+req[192].responseText);}
        }
        req[192].open(null, '/a', true);
        req[192].send({u:user,m:md5,a:'ze'});
     }
}

function calcol(ns){
        calc=1;
        g('calend1').style.height="4px";
        g('ccb').innerHTML='<div onclick="calexp()" class="but4" onmouseover="this.className=\'but4_h\'" onmouseout="this.className=\'but4\'"></div>';
     if(!ns){
        req[192] = new JsHttpRequest();
        req[192].onreadystatechange = function() {
           if(req[192].responseText.length>1){alert("Ошибка при сохранении настроек: "+req[192].responseText);}
        }
        req[192].open(null, '/a', true);
        req[192].send({u:user,m:md5,a:'cc'});
     }
}

function calexp(ns){
        calc=0;
        g('calend1').style.height="119px";
        g('ccb').innerHTML='<div onclick="calcol()" class="but5" onmouseover="this.className=\'but5_h\'" onmouseout="this.className=\'but5\'"></div>';
     if(!ns){
        req[192] = new JsHttpRequest();
        req[192].onreadystatechange = function() {
           if(req[192].responseText.length>1){alert("Ошибка при сохранении настроек: "+req[192].responseText);}
        }
        req[192].open(null, '/a', true);
        req[192].send({u:user,m:md5,a:'ce'});
     }
}

function savezam(){
if(user==1 &&md5==''){alert(err_reg);}else{
    if(g('zam').value==''){n=false;}else{n=true;}
    zambp(n, false, true);
        req[96] = new JsHttpRequest();
        req[96].onreadystatechange = function() {
                if (req[96].readyState == 4) {
                        if(req[96].responseText!='ok'){
                                alert('Ошибка! ('+req[96].responseText+')');
                        }else{
                                zam_saved = tts;
                                zam_check();
                        }
                }
        }
        req[96].open(null, '/a', true);
        tts=g('zam').value;
        req[96].send({u:user,m:md5,a:'sz',q:tts});
}
}

function zambp(n,s,d){
o=g('zambb');
o.innerHTML='';
if(n){o.innerHTML+='<div onclick="if(confirm(\'Вы уверены что хотите удалить весь текст?\')){g(\'zam\').value=\'\';zam_check()};" class="but12" onmouseover="this.className=\'but12_h\'" onmouseout="this.className=\'but12\'"></div>';}
if(s){o.innerHTML+='<div style="margin-left:8px" onclick="savezam();" class="but6" onmouseover="this.className=\'but6_h\'" onmouseout="this.className=\'but6\'"></div>';}
if(d){o.innerHTML+='<div style="margin-left:8px" class="but6_d"></div>';}
}

function zam_check(){
o=g('zam');
if(o.value==zam_saved){s=false;}else{s=true;}
if(o.value==''){n=false;}else{n=true;}
zambp(n,s);
}



function getCookie(name) {
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset)
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
return(setStr);
}



function onoff(){
  if(getCookie('on')!=0){
    document.cookie='on=0; path=/; expires=Thu, 17-Aug-2010 08:06:58 GMT';
  }else{
    document.cookie='on=1; path=/; expires=Thu, 17-Aug-2010 08:06:58 GMT';
  }
init();
}

function binit(){
  if(getCookie('on')!=0){
    g('blocks').innerHTML='';
    g('gstatus').innerHTML='';
    g('logo').className='logo_nor';
    g('logotitpers').style.color='#B9B471';
    g('onoff').innerHTML='<div id=bof class=but_on onmouseover="g(\'bof\').className=\'but_on_hover\'" onmouseout="g(\'bof\').className=\'but_on\'"></div> &nbsp; <a href="#" onmouseover="g(\'bof\').className=\'but_on_hover\'" onmouseout="g(\'bof\').className=\'but_on\'">Выключить RSS-reader</a>';
    loadblocks();
  }else{
    g('blocks').innerHTML='';
    g('gstatus').innerHTML='';
    g('logo').className='logo_dis';
    g('logotitpers').style.color='#999999';
    if(md5!=''){lrform(3);}
    g('onoff').innerHTML='<div id=bof class=but_off onmouseover="g(\'bof\').className=\'but_off_hover\'" onmouseout="g(\'bof\').className=\'but_off\'"></div> &nbsp; <a href="#" onmouseover="g(\'bof\').className=\'but_off_hover\'" onmouseout="g(\'bof\').className=\'but_off\'">Включить RSS-reader</a>';
  }
}

function init(){
  if(getCookie('l')){
    cook=getCookie('l').split('?');
    user=cook[0];
    uname=cook[1];
    md5=cook[2];
    g('loggedas').innerHTML='Вы вошли как: '+uname;
    lrform(2);
  }else{
    user=1;
    md5='';
    g('loggedas').innerHTML=err_notlog;
    lrform();
  }
  binit();
  loadzam();

document.onkeypress=function(e){
if(md5.length<32){
  var we=null;if(window.event){we=window.event;}if(!we){we=e;}
  if (we.keyCode==13){
    if(curform=='reg'){
      if(!reg_but_disabled){if(g('reg_name').value!=''){register();}else{blink('reg_name');}}
    }
    if(curform=='log'){
      if(!log_but_disabled){if(g('log_name').value!=''){login();}else{blink('log_name');}}
    }
  }
}
}

}

curform='';

function lrform(reg){
if(reg==1){
g('logindiv').style.backgroundColor="#65645A";
g('logindiv').style.backgroundPosition="-366px 0";
g('logindiv').style.color="#FFF";
g('lrtit').innerHTML=' &nbsp; <a href="javascript:void(0)" onclick="lrform()"><b style="color:#FFF">Авторизироваться</b></a>';
g('lri').innerHTML='<div class=f>Логин: <input type=text class=i1 id="reg_name" value=""> Пароль: <input type=password class=i1 id="reg_pass" value=""></div>';
reg_but_disabled=false;
g('lri').innerHTML+='<div class="but_reg" id=reg_button onmouseover="if(!reg_but_disabled){this.className=\'but_reg_hover\'}" onmouseout="if(!reg_but_disabled){this.className=\'but_reg\'}" onclick="if(!reg_but_disabled){if(g(\'reg_name\').value!=\'\'){register();}else{blink(\'reg_name\');}}" ></div>';
curform='reg';
}
if(!reg){
g('logindiv').style.background="#D1CEA3 url(/utl.png) 0 0 no-repeat";
g('lrtit').innerHTML='<a href="javascript:void(0)" onclick="lrform(1)"><b>Быстрая регистрация</b></a>';
g('logindiv').style.color="#000";
g('lri').innerHTML='<div class=f>Логин: <input type=text class=i1 id="log_name" value=""> Пароль: <input type=password class=i1 id="log_pass" value=""></div>';
log_but_disabled=false;
g('lri').innerHTML+='<div class="but_enter" id=log_button style="margin-left:72px" onmouseover="if(!log_but_disabled){this.className=\'but_enter_hover\'}" onmouseout="if(!log_but_disabled){this.className=\'but_enter\'}" onclick="if(!log_but_disabled){if(g(\'log_name\').value!=\'\'){login();}else{blink(\'log_name\');}}" ></div>';
curform='log';
}
if(reg==2){
g('logindiv').style.background="#D1CEA3 url(/utl.png) 0 0 no-repeat";
g('lrtit').innerHTML='<div class="but11"></div>&nbsp;<a href="javascript:void(0)" onclick="createblock()"><b>Новый RSS блок</b></a>';
g('logindiv').style.color="#000";
g('lri').innerHTML='<a href="javascript:void(0)" onclick="expall()"><div class="but4"></div><div class=f>&nbsp;Развернуть все &nbsp; </div></a>';
g('lri').innerHTML+='<a href="javascript:void(0)" onclick="colall()"><div class="but5"></div><div class=f>&nbsp;Свернуть все &nbsp; </div></a>';
g('lri').innerHTML+='<a href="javascript:void(0)" onclick="loadblocks(1);"><div class="but0"></div><div class=f>&nbsp;Обновить все &nbsp; </div></a>';
g('lri').innerHTML+=' <div class="but_exit" style="margin-left:16px" onmouseover="this.className=\'but_exit_hover\'" onmouseout="this.className=\'but_exit\'" onclick="document.cookie=\'l=\';init();lrform();"></div>';
}
if(reg==3){
g('logindiv').style.background="#D1CEA3 url(/utl.png) 0 0 no-repeat";
g('lrtit').innerHTML='&nbsp;RSS-reader <b>отключен</b>';
g('logindiv').style.color="#000";
g('lri').innerHTML=' <div class="but_exit" style="margin-left:307px" onmouseover="this.className=\'but_exit_hover\'" onmouseout="this.className=\'but_exit\'" onclick="document.cookie=\'l=\';init();lrform();"></div>';
}
}






////////////////// КАЛЕНДАРЬ \\\\\\\\\\\\\\\\\\\\\

var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();

var tbgcolor='#827C40';
var ntbgcolor='';




function fGetDaysInMonth(iMonth, iYear){
	var dPrevDate = new Date(iYear, iMonth, 0);
	return dPrevDate.getDate();
}

function fBuildCal(iYear, iMonth, iDayStyle){
	var aMonth = new Array();
	aMonth[0] = new Array(7);
	aMonth[1] = new Array(7);
	aMonth[2] = new Array(7);
	aMonth[3] = new Array(7);
	aMonth[4] = new Array(7);
	aMonth[5] = new Array(7);
	aMonth[6] = new Array(7);
	var dCalDate = new Date(iYear, iMonth-1, 1);
	var iDayOfFirst = dCalDate.getDay();
	var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
	var iVarDate = 1;
	var i, d, w;
	if (iDayOfFirst==0){
		iDayOfFirst=6
	}else{
		iDayOfFirst=iDayOfFirst-1
	}
	aMonth[0][0] = "Пн";
	aMonth[0][1] = "Вт";
	aMonth[0][2] = "Ср";
	aMonth[0][3] = "Чт";
	aMonth[0][4] = "Пт";
	aMonth[0][5] = "Сб";
	aMonth[0][6] = "Вс";
	for (d = iDayOfFirst; d < 7; d++){
		aMonth[1][d] = iVarDate
		iVarDate++;
	}
	for (w = 2; w < 7; w++){
		for (d = 0; d < 7; d++){
			if (iVarDate <= iDaysInMonth){
				aMonth[w][d] = iVarDate
				iVarDate++;
			}
		}
	}
	return aMonth;
}

function fDrawCal(iYear, iMonth){	
	var myMonth;
	myMonth = fBuildCal(iYear, iMonth);
	document.write("<table border=0 cellpadding=0 cellspacing=0 style='font-size:10px;'>")
	document.write("<tr>");
	for(i=0;i<7;i++){
		document.write("<td align='center'>" + myMonth[0][i] + "</td>");
	}
	document.write("</tr>");
	for (w = 1; w < 7; w++){
		document.write("<tr>")
		for (d = 0; d < 7; d++){
			if (myMonth[w][d]==dCurDayOfMonth){
				document.write("<td id=calTodayCell bgcolor='"+tbgcolor+"' align='center' valign='center' width='21' height='15'>");
			}else{
				document.write("<td id=calCell align='center' valign='center' width='21' height='15'>");
			}
				
			if (!isNaN(myMonth[w][d])){
				if (myMonth[w][d]==dCurDayOfMonth){
					document.write('<span id="calDateText"><a href="/date/'+dCurYear+'/'+(dCurMonth+1)+'/'+myMonth[w][d]+'/" style="color:white">'+myMonth[w][d]+'</a></span>');
				}else{
					document.write('<span id="calDateText"><a href="/date/'+dCurYear+'/'+(dCurMonth+1)+'/'+myMonth[w][d]+'/">'+myMonth[w][d]+'</a></span>');
				}
			}else{
				document.write('<span id="calDateText"></span>');
			}
			document.write("</td>")
		}
		document.write("</tr>");
	}
	document.write("</table>")
}
	
function fUpdateCal(iYear, iMonth){
	myMonth = fBuildCal(iYear, iMonth);
	objPrevElement.bgColor = ntbgcolor;
	if ((iMonth-1)==dCurMonth && iYear==dCurYear){
			g('calTodayCell').bgColor = tbgcolor
		}else{
			g('calTodayCell').bgColor = ntbgcolor
		}
	for (w = 1; w < 7; w++){
		for (d = 0; d < 7; d++){
			if (!isNaN(myMonth[w][d])){
				calDateText[((7*w)+d)-7].innerHTML = '<a href="/date/'+iYear+'/'+iMonth+'/'+myMonth[w][d]+'/">'+myMonth[w][d]+'</a>';
			}else{
				calDateText[((7*w)+d)-7].innerHTML = "";
			}
		}
	}
}
