
Vonl = (location.protocol=="http:") ?1 :0;  // if NOT ALREADY DONE
// ------ 1
	function f_true(){window.status='* * * * *'; return true;} // END ft
//..========
// window.onerror = f_true;
//*---------
	function f_memorize_cookie(){
//..========
zzz = ((trouble_searching_confirm) ?"on":"off");
window.document.cookie="trouble_searching_confirm=" +zzz +";";
} // END ft
//*---------
// ------ 2
// once this line included, 'Flow' (and errors) will be shown.
if (Show_Flow_possible > '' && ! Vonl){
	wlh	= window.location.href;
	dd	= wlh.lastIndexOf("/");
	DS_module = window.location.href.substring(dd+1);
	if (dd>0){
		alert(DS_module +" : Show_Flow_possible E.(" +Show_Flow_possible +")");
	} // END if
} else {var Show_Flow_possible=true; window.status="* Show_Flow_possible=true; *";} // END if
//*---------
var DS_module='no_error.js';
var trouble_searching_confirm = (document.cookie.indexOf("trouble_searching_confirm=on") >= 0)?true:false;
var cnt_NO_error=0;
	function f_NO_error(){ // when END of Module without ERROR
//..========
cnt_NO_error+=1; 
Nerr="(" +cnt_NO_error +") < EXIT, with NO error, from |"+DS_module+"| >";
if (trouble_searching_confirm && ! Vonl){  
	trouble_searching_confirm = confirm(Nerr);
} // END if * set imperatively
if (Show_Flow_possible){
	if (window.status.charAt(1)!="*"){window.status=Nerr;} // if no real error.
} // END if
} // END ft
//*---------
	function f_alterne_trouble_searching(){
//..========
trouble_searching_confirm =(document.cookie.indexOf("trouble_searching_confirm=on")>=0)?true:false;
if (trouble_searching_confirm){trouble_searching_confirm=false;} 
else {trouble_searching_confirm=true;}
f_memorize_cookie();
window.status="trouble_searching_confirm = " +trouble_searching_confirm +";";
window.location.reload();
} // END ft
//*---------
var dOff = true;
var cnt_IS_error=0;
	function f_ISerror(msg,url,linenumber){Show_Flow_possible=false; 
//..========
cnt_IS_error ++;
ISerr="** Interrupt ("+cnt_IS_error+") in |"+DS_module + "| at "+linenumber +".\n Cause : |" +msg+"| **";
if (trouble_searching_confirm){trouble_searching_confirm = confirm(ISerr);}
f_memorize_cookie();
wss=window.status.substring(0,1); 
if (wss==""){window.status=ISerr;} 
else {
	if (wss=="*"){window.status = window.status +"//" +ISerr;}  
	else 		{window.status = ISerr;}
} // END else
if (! Vonl && dOff){dOff = confirm (ISerr);}
return true;
} // END ft
window.onerror = f_ISerror; // pas de () sans quoi NOT WORK.
//*---------
var i_R13=0; 
var A_R13=new Array(9);
	function R13 (i_anselin_js){
//..========
//	* This implies (to be used at) entry from any ft  into one of 'ANSELIN.js' functions.
if (i_anselin_js >''){
	if (i_R13==0){ // INIT
		A_R13[0] = DS_module; //  alert(A_R13[0]); sans quoi on ne reviendra jamais
	} // END if
//   Dans anslin.js, les ENTRY to R13 sont = R13(1), les autres contiennent DS_module.
	i_R13+=1; 
	A_R13 [i_R13] = (i_anselin_js==1)?"anselin.js" :i_anselin_js;
} // END if
//	* Without parameter means we leave one of 'ANSELIN.js' functions
//	* So, we drop the present DS_module (saved in present) and RESTAURE the previous one.
else {	i_R13-=1;
		if ((i_R13>5) || (0>i_R13)){	// 18-12-2007
			window.status="* R13 error *"+i_R13; 
			if (!Vonl){
				alert('R13=' +i_R13 +'; '
				+'\n returns to =|' +A_R13[i_R13] +'|; ' 
				+'\n  called by =|' +A_R13[i_R13-1] +'|');
			} // END if	
 		} // END else
} // END else
DS_module=A_R13[i_R13];  // So, we will BE IN that 'DS_module'.
// if (!Vonl && window.status.substring(0,2) != "**"){
//		window.status="* * Return => " +DS_module +" (" +i_R13+")";}
} // END ft
//*---------
if (Show_Flow_possible){f_NO_error();}

