// JavaScript Document



String.prototype.encodeHTML=function(){ // v2005-09-18

var re=this; re=re.replace(/&/g, ';a;'); re=re.replace(/\'/g, ';c;');re=re.replace(/\=/g, ';e;');re=re.replace(/\</g, ';l;');re=re.replace(/\>/g, ';g;'); return re;

}



String.prototype.decodeHTML=function(){ // v2005-09-18

var re=this; re=re.replace(/;a;/g, '&');re=re.replace(/;c;/g, '\'');re=re.replace(/;e;/g, '='); re=re.replace(/;l;/g, '&lt;');  re=re.replace(/;g;/g, '&gt;'); 

re=re.replace(/\</g, '&lt;');  re=re.replace(/\>/g, '&gt;');

return re;

}



//function exist

var _fe = function(o) { return typeof(o) == 'function' && (!Function.prototype.call || typeof(o.call) == 'function');};



var navType=Array();

navType['mo']='Mozilla';

navType['ie']='Internet Explorer';

navType['mz']='Firefox';

navType['op']='Opera';

navType['sa']='Safari';

navType['go']='Google Chrome';

navType['ns']='NetScape';

navType['ka']='K-Meleon';

navType['ep']='Epiphany';

navType['ic']='Iceweasel';

navType['ko']='Konqueror';

navType['av']='Avant';

navType['ls']='Lunascape';

navType['uk']='Desconocido';





// functions

function opac(o,w){

	o=_ob(o);

	o.style.opacity = w/10;

	o.style.filter = 'alpha(opacity=' + w*10 + ')';

}



var IE = (document.all)?true:false;;

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

var T=true, F=false, N=null, NO='none';

function _ce(w,o){ o = _dz(o); return o.createElement(w); } 							// createElement.

function _ac(o,w){ o = _oz(o); try{ o.appendChild(w); } catch (e) { alert(e) } }		// appendChild.

function _dz(o){ return (o!=N)?o:document;} 											// Doctze

function _oz(o){ return (o==document)?o.getElementsByTagName("body")[0]:o; }			// Ojtze

function _ez(e) {return (typeof event=='undefined')?e:event;}							// evetze

function _sa(o,a,v){ if (o=_ob(o)) o.setAttribute(a,v);}												// setAttribute.

function _ga(o,a){ if (o=_ob(o)) return o.getAttribute(a);}											// getAttribute.

function _gi(w) { a = w.split('p'); return parseInt(a[0]);}								// getInteger

function _gzi(o) { if (o=_ob(o)) return o.style.zIndex; }												// get-zIndex	

function _szi(o,v) { o.style.zIndex=v; }												// set-zIndex	

function _ge(o,v) { return o.getElementsByTagName(v); }									// getElements

function _rm(o) {if (o=_ob(o)){  if(o.parentNode) o.parentNode.removeChild(o); }}									// removeChild

function _ib(o,w,i) { if (o=_ob(o)) o.insertBefore(w,i); } 											// insertBefore

function _os(e){ var w =e.srcElement?e.srcElement:e.target;	return w; }					// object sel

function _al(ar){ var c=0; for (var it in ar) c++; return c; }							// array len

function _gv(o){return _ob(o).value} 													// get value



//splits



function _sp(w){ if (w==null) return Array(); var ret=Array(); var mprop=w.split("\&"); for (var it in mprop){ var res = mprop[it].split("="); {var ind=res.shift(); var rest=res.join("=")} ret[ind]=rest;} return ret; }



function _st(w){ var ret=Array(); var mprop=w.split(";"); for (var it in mprop){ var res = mprop[it].split(":"); if (res[1]) ret[res[0]]=res[1];} return ret; }



//ret image

function _ri(src,w1,h1){ var w=w1!=N?' width="'+w1+'"':''; var h=h1!=N?' height="'+h1+'"':''; return '<img align="absmiddle" src="img/'+src.toLowerCase()+'"'+w+h+'>';}



function _xcn(x){ return x.childNodes; } // chilnodes

function _ns(x){ x=x.nextSibling; while (x && x.tagName==null){ x=x.nextSibling;} return x; } // next

function _ps(x){ x=x.previousSibling; while (x && x.tagName==null){ x=x.previousSibling;} return x; } // prev

function _cn(o,c) {if(o=_ob(o)) o.className=c} // className

function _gcn(o) {return o.className} // className

function _ih(o,c) {if(o=_ob(o)) { o.innerHTML=c} }// inner



// childnum

function _byn(x,n){ h=_xcn(x)[0]; var c=0; while (h.tagName==null || c!=n){if (h.tagName!=null) c++; h=h.nextSibling;} return h; }

function _cl(t,c){ return "<span class=\""+c+"\">"+t+"</span>";} // clazse;



function _tx(w){ return w.innerText?w.innerText:w.textContent; }// innerText	



// cookies 

function _scv(name,value,days) {if (!days) days=7;	var date = new Date();	date.setTime(date.getTime()+(days*24*60*60*1000));

var expires = "; expires="+date.toGMTString();	document.cookie = name+"="+value+expires+"; path=/";}

function _gcv(name) {	var nameEQ = name + "="; var ca = document.cookie.split(';');for(var i=0;i < ca.length;i++) {

var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length);if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);	}

return null;}



function _go(o) { // getObject

var ex=document.getElementById(o);

if (!ex){

	var ai = document.getElementsByTagName('iframe');

	for (var i=0; i < ai.length;i++) { 

		var exe = 'ex='+ai[i].id+(!IE?".contentWindow":"")+'.document.getElementById(o)';

		try { eval(exe); } catch(e){ try { eval('ex='+ai[i].id+"."+o);} catch(e1){} }

		if(ex) break;

	}

}

return ex; 

}								



function _tv(o){ if (o.value) return o.value; else return o;}



function _p1(o,c) {	if (c==null) c=1; for (var i=0; i<c; i++) o=o.parentNode;	return o;} // parent

// parent tag

function _tp(o,q) { if (o.tagName==null) return false; else if(o.tagName==q) return o; else return _tp(_p1(o),q); }



function _ck(e) { if (e.which) return e.which; else return e.button;}  //button press



function _co(e) { //coor

	var xx = 0;var yy = 0;

	if (e.pageX){xx = e.pageX; yy = e.pageY;

	}else if (e.clientX){ xx = e.clientX + document.body.scrollLeft	+ document.documentElement.scrollLeft;

		yy = e.clientY + document.body.scrollTop+ document.documentElement.scrollTop;

	} return xx+","+yy;

}





function _chl(o){ // chl

  var mob=o, c=-1, total=0;

  if (_chl.arguments[1]==null) { _chl.arguments[1]=0; _chl.arguments.length=2}

  for (var i=1; i<_chl.arguments.length; i++){  p=0;c=-1;

	 if (mob.childNodes.length==0) return null;

	  do {	mob1=mob.childNodes[p++];

	  try {

	  if (mob1.tagName) c++;

	  } catch(e){

		c++;  

	 	}

	  } while (c<_chl.arguments[i])

  mob = mob1 } return mob;}





function _di(w){ var o=null;for (var i=1; i<_di.arguments.length; i++){ // disabled

if (o =	_ob(_di.arguments[i])) o.disabled=w }}



function _dp(w) {	var o=null; 	for (var i=1; i<_dp.arguments.length; i++){ //display

if (o =	_ob(_dp.arguments[i])) o.style.display=w; }} 	



function _ob(o){ if (typeof(o)!='object') o=_go(o);  return o;} // str o obj to obj



function _vi(w) { var o=null;	for (var i=1; i<_vi.arguments.length; i++){ //visibility

if (o =	_ob(_vi.arguments[i])) o.style.visibility=w ; 	}} 	





function _re(){ var o=null, re=''; 	for (var i=0; i<_re.arguments.length; i++){ // values from objs

if (o =	_ob(_re.arguments[i]))va=o.type=="checkbox"?o.checked:o.value;

re+=o.id+"="+va+";";	} return re;}



function _pv(){ var o=null, re=''; // objs query

var de='';

 	for (var i=0; i<_pv.arguments.length; i++){

		if (o =	_ob(_pv.arguments[i])){

		re+=(re==''?'':'&'); re+=o.id+"="+o.value.trim();	} else {

		eval('de='+_pv.arguments[i]);

		re+=(re==''?'':'&'); re+=_pv.arguments[i]+"="+de;		

			}

 	} return re; }







function _wi(o){ o=_ob(o);	return o.offsetWidth; }

function _he(o){ o=_ob(o);	return o.offsetHeight; }



function _ws(o){ o=_ob(o);  return o.scrollWidth; }

function _ww(o){ o=_ob(o);  return o.width; }



// deprecates functions 



//function _qr(ar){ var re=''; for (i in ar){ re+=(re==''?'':'&'); re+=i+"="+ar[i];} return re;}

//function _at(o,n) {if (n==null) return o.attributes; else return o.attributes[n]}



function callScript(id, src) {     

	var head = document.getElementsByTagName('head')[0]; 

	var old  = _ob(id); 

	if (old) head.removeChild(old); 

	var script =  _ce("script");

	//script.src = src+'?'+Math.random(); 

	script.src = src;//+'?'+Math.random(); 

	script.type = 'text/javascript'; 

	script.language = "JavaScript1.2";

	script.defer = true;

	script.id = id;

	void(head.appendChild(script)); 

}





function tit(w){

	document.title=w;

}







////////////////////////////////////////////////////////////////////

//////////////////////////// AJAX //////////////////////////////////



function oAJAX(u,c,e){

	

	var call=c;

	var url=u;

	var cerr=e;

	var req=null;

	var callco=null;

	

	this.send = function (query,cccp,p,c1,u1,e1) {  //query, post, call, url, error

		req=reqObj();

		if (p==null) p="POST";

		if (c1!=null) call=c1; else c1=call;

		if (u1!=null) url =u1; else u1=url;

		if (e1!=null) cerr =e1; else e1=cerr;

		req.onreadystatechange = function () {

			

			if(req.readyState == 4) {

				if(req.status == 200) {

					var itm = req.responseText;

					call(itm,cccp);

					

				} else  { 

					cerr();

				} 

		}	

		} 

		req.open(p, u1,true); 

		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 

		ms=nnow();

		req.send(query);

		

	}

	function reqObj() {

		try { mr = new XMLHttpRequest(); } catch(err1) {

		try { mr = new ActiveXObject('Msxml2.XMLHTTP'); } catch (err2) {

		try { mr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (err3) {

		mr = false; } } }  return mr;

	}

}



function inError(){

	

}



//  SENDING () ///////////////////////////////////////////////////



var mstt="";

function showc(w1,w2,w3){

	var v1,v2;

	if (w1==0)  v1='none'; else v1='';

	if (w2==0)  v2='none'; else v2='';

	if (w3==0)  v3='none'; else v3='';

	if (w1!=null) _dp(v1,'impc');

	if (w2!=null) _dp(v2,'imsat');

	if (w3!=null) _dp(v3,'imant');

	

	var fs='r&aacute;pido'; fs=(tms>2)?'normal':fs;fs=(tms>5)?'lento':fs;

	

	//var ww=mstt+"<br>"+tms+" s ("+fs+")" ;

	_ih('ms1',mstt);

	_ih('ms2',tms);

	//_ih('ms3',fal);

	//_dp(v1,'ids');_dp(v2,'icn');

}



function llegada(w,cccp){

	

	//if (ier==1 || oln==-1) showc(0); // icono de con/des

	//alert(w);

	iin=0; ico=0; ier=0;

	var prs=w.split("\r\n");

	if (cccp==ctrl){

		tms=(nnow()-ms)/1000;

		runall(prs);

		mstt="CONECTADO"; showc(0,0,0); 

	}

	

	

}



var comm=Array();

var comx=0,cocc=0;





function runco(){

	if(cocc!=comx) {

		cocc++; cocc=(cocc>400)?0:cocc;

		var toe=comm[cocc];

		try {	

			eval(toe);

			//alert(toe)

		} catch(e){

			//alert(toe)

			seeerr(toe);

		}

		var rtim=(toe.indexOf('listuser')==-1)?(Math.random()*200+100):0;

		//var rtim=Math.random()*200+100;

		if (rtim==0) runco();

		else setTimeout('runco()',rtim);

	}	

}



function runall(prs){

	

	for(var t=0; t<prs.length;++t){

		comx++; comx=(comx>400)?0:comx;

		comm[comx]=prs[t];

	} 

	

	runco();

	

	

}



function seeerr(ee){

	//alert(ee)

	if (me!=null){

		if ((me.priv&128)==128){

			 var tx='<a class="system">*** <b>ERROR:</b> '+ee+"</a><br> ";

			 writetxt('*',tx);

		}

	}

}



function infoerror(w){

	mstt="ERROR"; showc(0,0,1); 

	iin=0; ico=0; ier=1;

}





/////////////////////////////////////////////////



var ifo="",noi=0,sei=0,oln=0;

var iin=0, ico=0, ier=0, svr=0;



function addinfo(m,q,i){

	if (i==null) { noi++; i=noi }

	ifo+=(ifo!="")?"|":""; 

	ifo+='i='+i+'&'+m;

	if(q==1) sendinfo();



}



var ctrl=0,ms=0,tms=0; wo=F; 

function sendinfo(){



	if (oln==1) {

		ifo+="|i=0&a=ping&svr="+svr;

		if (_gv('txMess')!='' && dest!='*' && wo==F){

			wo=T;

			ifo+="&|a=writeon&dest="+dest;

		}

		

	}

	var qr="data="+escape(ifo);

	//if (me!=null) writetxt(me.user,"---->"+ifo);

	ctrl++;

	showc(1);

	ico=0;	iin=1; //ier=0;

	AJAX.send(qr,ctrl);

	

}



function revived(q){

	//alert("rev="+q)

	var ar=ifo.split('\|'),ret='';

	for(var t=0; t<ar.length;t++){

		var io=_sp(ar[t]);

		if (io.i>q && io.i!=0) { ret+=(ret=='')?'':'|';ret+=ar[t]; }

	} ifo=ret;

	//alert(ifo);

}



////////////////////////////////////////////////

var coue=0;

function lookinterval(){

	

	checktimer();

	ico++;

	

	//var tx="ico: "+ ico +" - iin: "+iin+" - ier: "+ier ;

	//_ih('txt1',tx);

	

	var ve=10; if (thefast==4) ve=7; if (thefast==5) ve=4;

	if (ier==1 && iin==0) { // hay error

		if (ico>5) { // reintentar a los 3 seg

			sendinfo(); 

		}

	} else if(iin==1){ // fue enviado ya

		if (ico>300) { // respuesta retrazada;

			mstt="RETRASADO"; showc(null,1); 

			sendinfo();

		}

	} else {

		if (ifo!='') { // envio normal

			sendinfo();

		} else if (oln==1 && ico>(5+ve)){

			sendinfo();

		}

	}

	//var fal=((5+ve)-ico)+'';fal='';

	var fal='';

	if (mstt!='CONECTADO'){

		fal=(300-coue);

		coue++;

	} else {

		coue=0;

	}

	_ih('ms3',fal);

	

}





function nnow(){

	var da = new Date();

	return da.getTime();	

}



/*document.onclick = function(){ removelm()}

function removelm(){

if (objmenu!=null) _rm(objmenu); objmenu=null;	

}*/



function strip(html){



   var tmp = document.createElement("DIV");

   tmp.innerHTML = html;

  	if (IE) return tmp.textContent||tmp.innerText;

	else return _tx(tmp);

   

}

function long2ip ( proper_address ) {

var output = false; if ( !isNaN( proper_address ) && ( proper_address >= 0 || proper_address <= 4294967295 ) ) {

output = Math.floor(proper_address / Math.pow( 256, 3 ) ) + '.' + Math.floor( ( proper_address % Math.pow( 256, 3 ) ) / Math.pow( 256, 2 ) ) + '.' + Math.floor( ( ( proper_address % Math.pow( 256, 3 ) )  % Math.pow( 256, 2 ) ) / Math.pow( 256, 1 ) ) + '.' + Math.floor( ( ( ( proper_address % Math.pow( 256, 3 ) ) % Math.pow( 256, 2 ) ) % Math.pow( 256, 1 ) ) / Math.pow( 256, 0 ) );

}  return output;}



function _gdp(o) { return o.style.display}


