function rplc_ihtml(id,val){
    var m=$(id);
    if (m){
	m.innerHTML=val;
    };
};

Function.prototype.bind = function(object) { 
    var __method = this;
    return function() { return __method.apply(object, arguments); } 
}

function debug_alert(txt){
	if (getCookie('ljuser')=='xiMera') alert(txt);
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
	    begin = dc.indexOf(prefix);
	    if (begin != 0)
		return null;
    } else
	begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
//    return unescape(dc.substring(begin + prefix.length, end));
    return dc.substring(begin + prefix.length, end);
};

var WrittenCount='';

function redraw_lstlgt(txt,callagain){
//	debug_alert('redraw_lstlgt '+txt);
	elem = $('lstlgt');
	elem.innerHTML = txt;
	if (callagain)
		setTimeout("update_t( )", 15000);
};

function redraw_private(txt,callagain){
//	debug_alert('redraw_lstlgt '+txt);
	checked = [];
	form=$('privateform');
	if (form){
	    inputs=form.getElementsByTagName('INPUT');
	    for (i=0;i<inputs.length;i++){
		if (inputs[i].type=='checkbox' && inputs[i].checked){
		    checked.push(inputs[i].id);
		};
	    };
	};
	elem = $('privmsgs');
	elem.innerHTML = txt;
	for (i=0;i<checked.length;i++){
	    input=$(checked[i]);
	    if (input) input.checked=true;
	};
	if (callagain)
		setTimeout("update_priv()", 15000);
};

function redraw_lstlgtcnt(txt,callagain) {
	var json=JSON_(txt);
	redraw_prvcnt(json.priv);
	WrittenCount=json.pub;
//	debug_alert('redraw_lstlgtcnt '+txt);
	cntr = $('lstlgtcnt');
	cntrcnt = $('lstlgtcntcont');
	if (cntr){
	    cntr.innerHTML='['+json.pub+']';
	    if (json.pub!='0'){
    		cntr.style.visibility='visible';
		cntrcnt.className='redlnk';
	    }else{
    		cntr.style.visibility='hidden';
		cntrcnt.className='';
	    };
	};
	if (callagain[1])
		document.title=document.title.substr(0,5)+json.pub+document.title.substr(document.title.length-19,19);
	if (callagain[0])
		setTimeout("update_lstlgtcnt( )", 15000);
};

function redraw_prvcnt(txt){
//	debug_alert('redraw_prvcnt '+txt);
	cntr = $('prvcnt');
	cntrcnt = $('prvcntcont');
	if (cntr){
	    cntr.innerHTML='['+txt+']';
	    if (txt!='0'){
		cntr.style.visibility='visible';
		cntrcnt.className='redlnk';
	    } else {
		cntr.style.visibility='hidden';
		cntrcnt.className='';
	    };
	};
}

function update_lstlgtcnt(){
	ajax_req("/msgcounters",{handler:redraw_lstlgtcnt , fdata: [true,false] });
};

function update_t(){
	ajax_req("/test/",{handler: redraw_lstlgt,fdata: true});
	ajax_req("/msgcounters",{handler:redraw_lstlgtcnt , fdata: [false,true] });
}

function update_priv(){
	ajax_req("/msgcounters",{handler:redraw_lstlgtcnt , fdata: [false,false] });
	ajax_req("/aj/privpg/"+PrivatePage,{handler:redraw_private, fdata: true});
};

function redraw_privmsg(txt,id){
	cntr = $('prmsg'+id);
	if (cntr){
	    cntr.innerHTML=txt;
	};
};

function load_private(id){
	cntr = $('prmsg'+id);
	if (cntr){
	    cntr.innerHTML='<CENTER>...loading...</CENTER>';
	};
	add_request("/sepprivmsg/"+id,redraw_privmsg,'',id);
	return false;
}

function redraw_prallthr(txt){
	p = $('prallthr');
	if  (p){
	    p.innerHTML=txt;
	};
}

function show_prallthr(parent,fromid,toid){
	add_request("/aj/prallthr/"+parent+'/'+fromid+'/'+toid,redraw_prallthr,'',null);
	p = $('prallthr');
	p.innerHTML='<CENTER>...loading...</CENTER>';
	return false;
};

function append_privthr(txt,ids){
	p= $('privthrcont');
	if (p){
	    p.innerHTML = p.innerHTML+txt;
	};
	setTimeout('update_private_thread(\''+ids[0]+'\',\''+ids[2]+'\')',17000);
};

function check_privthr(txt,ids){
    if (txt!=ids[1]){
	ids.push(txt);
	add_request("/aj/prft/"+ids[0]+'/'+ids[1]+'/'+txt,append_privthr,'',ids);
//        debug_alert('Updated from '+ids[1]+' to '+txt);
    }else{
	setTimeout('update_private_thread(\''+ids[0]+'\',\''+txt+'\')',17000);
    };
};

function update_private_thread(parent,lastid){
	ids= new Array(parent,lastid);
	add_request("/aj/lastp/"+parent,check_privthr,'',ids);
};

function ajax_update_id_set_timeout(url,id,repeat){
    setTimeout('ajax_update_id(\''+url+'\',\''+id+'\','+repeat+')',repeat);
};

function ajax_update_id_(txt,a){
	p= $(a.id);
	if (p){
	    p.innerHTML = txt;
	    if (a.repeat>0){
		ajax_update_id_set_timeout(a.url,a.id,a.repeat);
	    };
	};
	if (typeof(a.func)=='function'){
	    a.func();
	};
	if (typeof(a.func)=='string'){
	    eval(a.func);
	};
};

function ajax_update_id(url,id,repeat,func){
    add_request(url,ajax_update_id_,'',{id: id,repeat: repeat,url: url, func: func} );
};

function inserting_image_body(){
    var div=document.createElement('DIV');
    div.id='comments_imgs_div';
    div.appendChild(document.createTextNode('...загрузка...'));
    ajax_update_id('/aj/commimgs/0',div.id);
    return div;
};

function inserting_image(ev){
    create_window(ev,'comments_imgs','картинки',inserting_image_body);
};


function inserting_image_new(){
    var lnk=$('comments_imgs_addlnk');
    if (lnk){
	lnk.style.visibility='hidden';
	lnk.style.display='none';
    }
    var m=$('comments_imgs_div');
    if (m){
	var div=document.createElement('DIV');
	div.id='comments_imgs_upl';
	var form=create_form('/aj/commimgsadd');
	form.id='comments_imgs_form';
	form.name=form.id;
	var file=document.createElement('INPUT');
	file.type='file';
	file.name='picture';
	form.appendChild(file);
	var btn=document.createElement('INPUT');
	btn.type='submit';
	btn.name='okbutton';
	btn.value='Добавить';
	btn.onclick=function(){
	    var m=$('comments_imgs_upl');
	    if (m){
	        var p=m.parentNode;
		m.style.display='none';
		var loading=document.createElement('DIV');
		loading.className="loading";
		loading.appendChild(document.createTextNode('... загрузка на сервер ...'));
		p.appendChild(loading);
		var f=$('comments_imgs_form');
		f.submit();
//		var p=m.parentNode;
//		p.removeChild(m);
	    };
	    return true;
	};
	form.appendChild(btn);
	form.appendChild(document.createTextNode('640x640 макс.'));
	form.target='comments_imgs_iframe';
/*	var iframe=document.createElement('IFRAME');
	iframe.name=form.target;
	iframe.id=form.target;
	iframe.style.display='none';
	iframe.style.width=0;
	iframe.style.height=0;
	iframe.src='about:blank'; */
	div.appendChild(form);
//	div.appendChild(iframe);
	m.appendChild(div);
/*	if(self.frames[iframe.id].name != iframe.id) { 
//IE bugfix
	    self.frames[iframe.id].name = iframe.id;
	}
*/
    };
};

function show_lnk(me){
    var a = me.getElementsByTagName('A');
    for (i = 0; i < a.length; i++){
	if (a[i].className=='dellnk') a[i].style.display='inline';
    };
}

function hide_lnk(me){
    var a = me.getElementsByTagName('A');
    for (i = 0; i < a.length; i++){
	if (a[i].className=='dellnk') a[i].style.display='none';
    };
}

var PrevHilCom=null;


function hil_curcom(h){
    var hash = (typeof(h)=='string')?h:location.hash;
    if (hash.substring(0,4)=='#com'){
	var id=hash.substring(4,hash.length);
	if (PrevHilCom!=null){
	    m=$('commentdiv_'+PrevHilCom);
	    if (m) m.className='commentdiv';
	};
	m=$('commentdiv_'+id);
	if (m){
	    m.className='commentdiv_hi';
	    PrevHilCom=id;
	};
    };
    return true;
};

var lastCheckBox=null;

function c_clk(e,i){
    if (e.shiftKey && lastCheckBox!=null && lastCheckBox!=i.id){
	var from=lastCheckBox.substring(8,i.id.length);
	var to=i.id.substring(8,i.id.length);
	from=parseInt(from);
	to=parseInt(to);
	var prefix=i.id.substring(0,8);
	while(from!=to){
	    var m=$(prefix+from);
	    if (m!=null){
		m.checked=!e.ctrlKey;
	    };
	    if(from < to) from++;
	    else from--;
	};
    };
    lastCheckBox=i.id;
}

var PreviousWritten='... загрузка ...';
var PreviousWrittenUpdating=false;

function written_filler_(txt,id){
    PreviousWritten=txt;
    PreviousWrittenUpdating=false;
    var m=$(id);
    if (m!=null){
	m.innerHTML=txt;
	if (m.style.display!='none'){
	    setTimeout('written_filler(\''+id+'\')',10000);
	};
    };
};

function written_filler(id){
    if (!PreviousWrittenUpdating){
	add_request("/aj/wrtnsubjs",written_filler_,'',id);
	PreviousWrittenUpdating=true;
    };
    return PreviousWritten;
};

function edit_comment(divid,comid,page,lnk){
    ajax_update_id('/aj/comedit/'+comid+'/'+page+'/'+divid,'commentdiv_'+divid);
    if (lnk){
	lnk.innerHTML='загружаем';
	lnk.onclick=null;
	lnk.disabled=true;
    };
};

function comment_orig(divid,comid,page,lnk){
    ajax_update_id('/aj/comorig/'+comid+'/'+page+'/'+divid,'commentdiv_'+divid);
    if (lnk) lnk.style.visibility='hidden';
};
function comment_borig(divid,comid,page,lnk){
    ajax_update_id('/aj/comborig/'+comid+'/'+page+'/'+divid,'commentdiv_'+divid);
    if (lnk) lnk.style.visibility='hidden';
};

function edit_comment_update(txt,divid){
	var m=$(divid);
	if (m) m.innerHTML=txt;
};

function edit_comment_data(comid){
	var subj=$('commedit_s_'+comid);
	var txt=$('commedit_'+comid);
	if (subj && txt){
		subj.disabled=true;
		txt.disabled=true;
		return 'subj='+url_encode(subj.value)+'&txt='+url_encode(txt.value);
	};
	return '';
};

function edit_comment_post(input,comid,page,i){
    var data=edit_comment_data(comid);
    add_request('/aj/comedit2/'+comid+'/'+page+'/'+i,edit_comment_update,data,input.parentNode.id,'POST');
    input.disabled=true;
};


function hide_calendar(){
    var m=$('calendar');
    if (m){
	m.parentNode.removeChild(m);
	var c=$('hidecalendar');
	if (c) c.checked=true;
	add_request("/aj/hide/1",function(){},'',null);
    };
};
function hide_last_view(){
    var m=$('last_view_div');
    if (m){
	m.parentNode.removeChild(m);
	var c=$('no_last_view');
	if (c) c.checked=true;
	add_request("/aj/hide/2",function(){},'',null);
    };
};


function select_avatar_(txt,par){
    $(par.id).innerHTML=txt;
    images=$(par.id).getElementsByTagName('img');
    for (i=2;i<images.length;i++){
	if (images[i].src==par.src){
	    div=$(par.id).getElementsByTagName('div')[0];
	    if ((62*i)>div.clientHeight)
		div.scrollTop = (62*i)-div.clientHeight/2;
	};
    };
};

function select_avatar(img,ev,id){
    $(id).innerHTML='грузим';
    images=img.getElementsByTagName('img');
    src = images.length>0?images[0].src:img.src;
    ajax_cached_req('/aj/ava_sel/'+id,{handler:select_avatar_,fdata:{id: id, src: src} });
};

function select_avatar_ok(id,img,obj){
  $(id).innerHTML='<A ONCLICK="select_avatar(this,event,\'avatar_input\');return false;"><IMG BORDER=0 SRC="/avatars/'+img+'"><BR>другая</A><INPUT TYPE="hidden" NAME="avatar" VALUE="'+img+'">';
};

function set_value(id,val){
  $(id).value=val;
};
function set_src(id,val){
  $(id).src=val;
};

function vote_add_variant(form,jid,div){
    inputs=form.getElementsByTagName('INPUT');
    val='';
    for (i=0;i<inputs.length;i++){
	if (inputs[i].type=='text'){
	    val=inputs[i].value;
	    break;
	};
    };
    ajax_req('/aj/vote/add/'+jid,{handler:function(txt,id){ $(id).innerHTML=txt;},
				  method: 'POST',
			          data: 'votesubj='+url_encode(val),
				  fdata: div } );
};

//addEvent(window, "load", editbox_init);
//setTimeout("update_t( )", 1000);
//setTimeout("update_prvcnt()",23000);


