//philum_ajax

function AJAX(a_sURL,a_sDiv,act){//alert(AJAX.caller);
	if(a_sURL!=undefined){this.m_sURL=a_sURL;}
	if(a_sDiv!=undefined){this.m_sDiv=a_sDiv;}
	if(act!=undefined){this.a_ct=act;} else this.a_ct=0;
	if(this.m_Request!=undefined){this.m_Request.abort(); delete this.m_Request;}
	this.m_Request=this.createReqestObject();
	var m_This=this;
	this.m_Request.onreadystatechange=function(){m_This.handleResponse();}
	this.m_Request.open("POST",this.m_sURL,true);
	this.m_Request.send(null);}
	
AJAX.prototype.m_sURL=undefined;
AJAX.prototype.m_sDiv=undefined;
AJAX.prototype.m_Request=undefined;

AJAX.prototype.createReqestObject=function(){var req;
	try{req=new XMLHttpRequest();}//all
	catch (error){try{req=new ActiveXObject("Microsoft.XMLHTTP");}//IE
		catch (error){try{req=new ActiveXObject("Msxml2.XMLHTTP");}//IE
			catch (error){req=false;}}}
	return req;}
	
AJAX.prototype.handleResponse=function(){
	var here=this.m_sDiv.substr(0,4);
	if(this.m_Request.readyState==4){
		if(this.m_Request.status=="200"){
			var content=getById(this.m_sDiv);
			var res=this.m_Request.responseText;
			if(this.m_sDiv=='popup'){popub(this.a_ct,res);}
			else if(this.a_ct<2 && here!='chat' && here!='twit'){
				Timer('opac',this.m_sDiv,10,100,4); content.innerHTML=res;}
			else if(this.a_ct==4){content.value=res;}//here=='lang' || 
			else if(this.a_ct==5){insert(res);}
			else if(this.a_ct==6){insert(res); Close('popup');}
			else{content.innerHTML=res;}
			if(this.a_ct==7){var popu=document.getElementById("popu").value;
				if(popu>0){window.location='/?read='+popu+'&continue==';}}
			if(res.substr(0,6)=="logon:"){window.location="/?id="+res.substr(7)+'&rl==';}
			//if(this.onDraw!=undefined){this.onDraw();}
		return res;}
		else{	
			if(this.onError!=undefined){
				this.onError({status:this.m_Request.status,
				statusText:this.m_Request.statusText});}}
		delete this.m_Request;}
	else{//wait
		if(this.a_ct==3)getById(this.m_sDiv).innerHTML='wait...';
		if(this.a_ct<1)opac(10,this.m_sDiv);}
}

function getNodeText(node){var r = "";
	for(var x=0; x<node.childNodes.length; x++){r=r+node.childNodes[x].nodeValue;}
	return r;}
	
function getById(a_id){
	if (document.getElementById){return document.getElementById(a_id);}
	else if (document.all){return document.all[a_id];}
	else if (document.layers){return document.layers[a_id];}
	return null;}

function waitmsg(){
		return '<span class="txtyl">wait...</span>';}

function opac(op,id){
	var ob=document.getElementById(id).style;
	//ob.filter="alpha(opacity="+op+")";
	ob.opacity=(op/100);}
function resiz(op,id){
	document.getElementById(id).style.height=op+'px';}
function slide(op,id){
	document.getElementById(id).style.marginLeft=op+'px';}

//setInterval
function Timer(func,id,start,end,t){//alert(func);
	var timer=0;
	if(start>end){
		for(i=start;i>=end;i--){timer++;
		setTimeout(func+"("+i+",'"+id+"')",timer*t);}}
	else if(start<end){
		for(i=start;i<=end;i++){timer++;
		setTimeout(func+"("+i+",'"+id+"')",timer*t);}}
	//else clearTimeout(x);
}

function jurl(){return '../ajax.php?dir=';}

function strreplace(string,by,haystack){return haystack.split(string).join(by);}

function clean_entity(a,b,v){
	for(z=0;z<100;z++){v=v.replace(a,b);}
	return v;}

function ajxget(val){
	val=strreplace('?','(qmark)',val);
	val=strreplace('%3F','(qmark)',val);
	val=strreplace('*','(star)',val);
	val=strreplace('%26sect','(sect)',val);
	val=strreplace('&','(and)',val);
	val=strreplace('_','*',val);
	val=strreplace('#','(diez)',val);
	val=strreplace('_','*',val);
	val=strreplace('+','(add)',val);
	val=strreplace('=','(equal)',val);
	//val=utflatin(val);
	//alert(val);
	return val;}

function innerSizes(p){
	if(p=='h')return parseInt(window.innerHeight);
	else return parseInt(window.innerWidth)-18;}
	
function popub(fix,res){
	var content=document.getElementById("popup");
	content.style.opacity=0; content.innerHTML=res;
	var popu=document.getElementById("popu");
	var w=popu.offsetWidth; var h=popu.offsetHeight;
	var px=0; var py=0; 
	//if(fix==1){var px=window.pageXOffset; var py=window.pageYOffset;}
	var l=(innerSizes('w')-w)/2+px; var t=(innerSizes('h')-h)/2+py;
	content.style.left=(l>0?l:0)+'px'; content.style.top=(t>0?t:0)+'px';
	Timer('opac','popup',10,100,4);
}

function fixelem(fix){
	var content=document.getElementById("popup");
	var lx=parseInt(content.style.left.replace('px',''));
	var ly=parseInt(content.style.top.replace('px',''));
	var px=window.pageXOffset; var py=window.pageYOffset;
	var cs=content.style.position;
	if(cs=='absolute'){content.style.position='fixed';
		content.style.left=lx-px+'px'; 
		content.style.top=ly-py+'px';}
	else{content.style.position='absolute';
		content.style.left=lx+px+'px'; 
		content.style.top=ly+py+'px';}
}

/*----*/

function SaveJb(a,b){SaveJ(a); setTimeout('SaveJ("'+b+'")',100);}

function SaveJm(arr){
	vn=arr.split("|"); var nm="";
	for(i=0;i<vn.length;i++){
		if(vn[i]){var val=document.getElementById(vn[i]);
			if(vn[i].substr(0,3)=='chk'){
				if(val.checked) var src="yes"; else var src=val.value;}
			if(vn[i].substr(0,3)=='sdx'){var dc=document.getElementById(vn[i]);
				var src=dc.options[dc.selectedIndex].value;}
			else var src=escape(val.value);
			var src=ajxget(src);} 
		else var src='';
		var nm=nm+src+'_';}
return nm;}

function SaveJ(val){//target_app_id_close_val1_val2_val3_val4_multival
	dn=val.split("_"); var opt=''; if(dn[3]>0)var tp=dn[3];
	if(dn[2]){var opt=escape(document.getElementById(dn[2].replace('*','_')).value);
		var opt=ajxget(opt); var opt=opt+'_';}
	for(i=4;i<8;i++){if(dn[i]){var opt=opt+dn[i]+'_';} else var opt=opt+'_';}
	if(dn[8]){var opt=opt+'&nom='+SaveJm(dn[8]);}
	var URL=jurl()+dn[1]+'_'+opt;
	var ajax=new AJAX(URL,dn[0].replace('*','_'),tp);//
	if(dn[3]=='x' || dn[3]==5){Close("popup");}
	if(dn[3]=='xx'){setTimeout("Close('popup')",2000);}
	if(dn[3]=='xd'){setTimeout("Close('"+dn[0]+"')",2000);}
	if(dn[3]=='tg'){var op=active(dn[2]); if(op==0){Close(dn[0]);}}
	}

function SaveBb(val){dn=val.split("_");//admin_config_mod
	var ajax=new AJAX(jurl()+val,dn[0]+dn[1]);}
function galtimer(val){SaveBb(val);
	setTimeout('galtimer('+val+')',1000);}

function SaveBbd(val){dn=val.split("_");//tracks
	var d=escape(document.getElementById('txtarea').value);
	var n=escape(document.getElementById('trkname').value);
	var m=escape(document.getElementById('trkmail').value);
	var sb=escape(document.getElementById('trkscr').value);
	var sc=escape(document.getElementById('trkscrvrf').value);
	var sb=sb.substr(2,2)+sb.substr(0,2);
	if(sb!=sc){var sc=alert('secure_error');}//-144 && sc && sb
	else{document.getElementById('txtarea').value='';
	var URL=jurl()+val+'_'+n+'_'+m+'&nom='+d;
	var ajax=new AJAX(URL,dn[0]+dn[1]);}}

function SaveBe(val){dn=val.split("_");
	var ajax=new AJAX(jurl()+val,"popup");}

function SaveBf(val){//photo
	dn=val.split("_"); var w=dn[2]; var h=dn[3];
	var sw=innerSizes('w'); var sh=innerSizes('h');
	var py=window.pageYOffset; //var px=window.pageXOffset; 
	var URL=jurl()+dn[0]+"_"+dn[1]+"_"+w+"_"+h+"_"+sw+'-'+sh+'-'+py;
	var ajax=new AJAX(URL,"popup",'');
	}

function SaveD(val){dn=val.split("_");
	var URL=jurl()+dn[1]+'_'+dn[2]+'_'+dn[3]+'_'+dn[4];
	var ajax=new AJAX(URL,dn[0],2);
	if(dn[0]=='content'){Close("popup");}
	}

function SaveBc(val){dn=val.split("_");//artopen 
	var op=document.getElementById("toggleart"+dn[1]).innerHTML;
	if(op==dn[2]){var nb=3;
	document.getElementById("toggleart"+dn[1]).innerHTML=dn[3];
	document.getElementById("toggleart"+dn[1]).className="txtbox active";} //style/cssText
	else{var nb=2;
	document.getElementById("toggleart"+dn[1]).innerHTML=dn[2];
	document.getElementById("toggleart"+dn[1]).className="txtbox";}
	var ajax=new AJAX(jurl()+dn[0]+"_"+dn[1]+"_"+nb,dn[0]+dn[1]);
	}
	
function SaveTg(val){dn=val.split("_");//artopts
	var op=document.getElementById(dn[1]+dn[2]).className;
	if(op!="txtred"){
	document.getElementById(dn[1]+dn[2]).className="txtred";
	document.getElementById("reponse"+dn[2]).className="";//twitter
	var ajax=new AJAX(jurl()+dn[0]+"_"+dn[2],"reponse"+dn[2]);}
	else{Close("reponse"+dn[2]);
	document.getElementById(dn[1]+dn[2]).className="txtx";
	document.getElementById("reponse"+dn[2]).className="";}
	}

function Savenav(val){dn=val.split("_");//lienj_conn//dsnav
	var op=active(dn[1]);
	if(op){var URL=jurl()+dn[0]+'_'+dn[1]+'_'+dn[2];
		var ajax=new AJAX(URL,dn[0]+dn[1]);}
	else{Close(dn[0]+dn[1]);}}

function Toggle(val){dn=val.split("_"); var op=active(dn[0]+"btn");
	if(op){var URL=jurl()+dn[1]+'_'+dn[2]+'_'+dn[3]+'_'+dn[4]+'_'+dn[5];
		var ajax=new AJAX(URL,dn[0]);}
	else{Close(dn[0]);}}

function active(val){
	var op=document.getElementById(val).className; 
	var act=op.replace(' active','');
	if(op==act){var css=op+" active"; var ret=1;} 
	else{var css=act; var ret=0;}
	document.getElementById(val).className=css;
	return ret;}

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

function SaveR(val,arr){//multipass
	dn=val.split("_"); vn=arr.split("|"); var nm="";
	for(i=0;i<vn.length;i++){
		if(vn[i]=='mh' || vn[i]=='mv' || vn[i]=='mr'){
			var src=escape(document.getElementById(vn[i]).checked);}
		else if(vn[i]=='mc' || vn[i]=='md' || vn[i]=='me'){
			var add=document.getElementById(vn[i]);
			var src=escape(add.options[add.selectedIndex].value);
			var opt=document.getElementById('mo').value;
			if(src=="cols" && opt==''){
				document.getElementById('mo').value=prompt('nb of cols');}
			if(src=="scroll" && opt==''){
				document.getElementById('mo').value=prompt('nb max of articles');}}
		else if(vn[i]){
			var src=escape(document.getElementById(vn[i]).value);
			var src=ajxget(src);}
		if(vn[i]=='mcb'){var nm=nm+src;} else {var nm=nm+'_'+src;}}
	var URL=jurl()+val+'&nom=' + nm;
	var ajax=new AJAX(URL,dn[0]+dn[1],3);
	if(dn[3]=="del" || dn[3]=="sav" || dn[3]=="add" || dn[3]=="new"){Close("popup");}
	}

//////////////////
	
function SaveI(val){//import
	var nobr="";
	if(document.getElementById("nobr").checked==true){var nobr="&nobr=ok";}
	if(document.getElementById("utf").checked==true){var nobr="&utf=ok";}
	var src=escape(document.getElementById(val).value.replace('http://',''));
	var URL=jurl()+val+'&nom='+src+nobr
	var ajax=new AJAX(URL,'txarea');
	var ajax=new AJAX(URL+'&t==','suj_1');}
function SaveIb(id){//import_in_place
	var src=document.getElementById("urlsrc").value.replace('http://','');
	var src=clean_entity("&","$",src);
	var URL=jurl()+'urlsrc&nom='+src+"&import="+id+'&nobr=';
	var ajax=new AJAX(URL,'txarea');
	Close("popup");}
function SaveIc(val){//preview
	var goto=escape(document.getElementById("txtarea").value);
	var lght=goto.length;
	if(lght>8136){alert("too large: ("+lght+") :: limit: 8136 chars");}
	else{var URL=jurl()+'articlearea_'+val+'&nom=' + goto;
	var ajax=new AJAX(URL,"popup");}}
function SaveId(val,id){//import_in_div
	var ajax=new AJAX(jurl()+val,id);}
function SaveIeb(){setTimeout('SaveIe()',1000);}
function SaveIe(){
	var dc=document.getElementById('addsrt'); var cat=dc.options[dc.selectedIndex].value;
	var src=document.getElementById("addsrc").value;
	if(src){var ajax=new AJAX(jurl()+'addurlsav_'+ajxget(src)+'_'+ajxget(cat),'popup',7);
	Close('adm');}}

function SaveChat(val){
	var nam=escape(document.getElementById('name'+val).value);
	var msg=escape(document.getElementById('msg'+val).value);
	if(msg){
	var URL=jurl()+'chat_'+val+"_"+nam+"&nom="+msg;
	var ajax=new AJAX(URL,'cht'+val,2);}
	getById('msg'+val).value='';
}

//keyPressEnter
function checkEnter(e,frm){ 
	var character	
		if(e && e.which){ e=e
		characterCode=e.which }
		else{e=event
		characterCode=e.keyCode }	
	if(characterCode== 13){ 
	document.forms[frm].submit()
	return false}
	else{return true}
}

function login(id){var mail="";
	var usr=document.forms[id]['user'].value;
	var pass=document.forms[id]['pass'].value;
	if(id=="create_hub"){var mail=document.forms[id]['mail'].value;}
	var URL=jurl()+'login_'+usr+"_"+pass+"_"+mail;
	var ajax=new AJAX(URL,"valid");
}

function Close(val){getById(val).innerHTML="";}

/* --menus-- */	

function jumpMenuCat(n,nb,selObj){
	var add=selObj.form.elements['cat'+n+nb].options[selObj.form.elements['cat'+n+nb].selectedIndex].value;
	document.getElementById("frm"+n+nb).form.elements['cat'+n].value=add;}
	
function jumpMenuTags(n,nb,selObj){
	var deb=document.getElementById("frm"+n+nb).form.elements['cat'+n].value;
	var add=selObj.form.elements['cat'+n+nb].options[selObj.form.elements['cat'+n+nb].selectedIndex].value;
	if(deb) {var add=deb+', '+add;}
	document.getElementById("frm"+n+nb).form.elements['cat'+n].value=add;}
	
function jumpMenu_insert(selObj){//styls
	var add=selObj.options[selObj.selectedIndex].value;
	insert(add);}//utils.js

function jumpslct(val,selObj){
	var add=selObj.options[selObj.selectedIndex].value;
	document.getElementById(val).value=add;}
	
function jumpMenu_text(val){dn=val.split("_");
	if(dn[2]){var va=document.getElementById(dn[0]).value;
		if(va){var va=va+(dn[2]!=1?dn[2]:'')+dn[1];} else{var va=dn[1];}} 
	else {var va=dn[1];}
	document.getElementById(dn[0]).value=va;}

function jumptext(val){dn=val.split("_"); getById(dn[0]).innerHTML=dn[1];}
function jumpvalue(id,val){getById(id).value=val;}
function jump_add(id,va){var val=SaveJm(va); getById(id).value=val.replace('_','');}

function log_finger(){
	var tar=document.getElementById("lgg"); var va=tar.value; //alert(va);
	var arr=['-',',','?',';','.',':','/','!','§',' ','"',"'",'(',')','_','=','+','$','*','%','<','>',' ','|','~','&','^','¨','é','è','à','ç','ù','$','£','@','{','}','[',']','`','^','µ','¨','^'];
	for(var i=0;i<arr.length;i++)va=va.replace(arr[i],'');
	if(Number(va.substr(0,1)))va=va.substr(1); //var va=va.toLowerCase();
	tar.value=va;}
