

var isInitDebug=false;
var db;

function initDebug(){
	db=safeFindObj('dbg');
	if(!db){
		db=document.createElement('div');
		document.body.appendChild(db);
	}
	isInitDebug=true;
}

/** 
	arguments:
	1) valeur (array ou string)
	2) clear (bool) : indique si on clear le contenu du debug avant de mettre cette valeur
	3) append (string) : string appendé après la valeur (default <br>)	
	3) precede (string) : string appendé avant la valeur
	
*/
function _debug(){
	if(!isInitDebug){
		initDebug();
	}

	var args=_debug.arguments;
	
	var val=args[0];
	var isClear=args[1];
	var append=args[2]?args[2]:'<br>';
	var precede=args[3]?args[3]:'';
	
	if(isClear){
		db.innerHTML ='';
	}
	
	//si c'est un array:
	if(typeof(val)=='object'){
		db.innerHTML += '<p>array:' + precede+'<br>';
		db.innerHTML += print_r(val);
		db.innerHTML += '</p>';
	} else {
		db.innerHTML += precede + val + append;
	}
}
function print_r(theObj){
	var iter='';
	if(theObj.constructor == Array || theObj.constructor == Object){
		iter+="<ul>";
		for(var p in theObj){
			if(theObj[p].constructor == Array||	theObj[p].constructor == Object){
				iter+="<li>["+p+"] => "+typeof(theObj)+"</li>";
				iter+="<ul>";
				iter+=print_r(theObj[p]);
				iter+="</ul>";
			} else {
				iter+="<li>["+p+"] => "+theObj[p]+"</li>";
			}
		}
		iter+="</ul>";
	}
	return iter;
}
//******************************************************************************************************************************************
function displayArr(ar,lev){
	var ret='';
	var contenu = '';
	var tmp;
	var i=0;
	for(var k in ar){
		tmp= ar[k];
		if(typeof(tmp)=='object' && tmp && tmp.length>0){
			contenu += typeof(tmp) +':<br>';
			contenu += displayArr(tmp,lev+'&nbsp;&nbsp;');
		} else {
			if(tmp===false || null==tmp){tmp='_false';}
			
			//db.innerHTML += k + tmp.length + ':' + tmp + '<br>';
			contenu += i + ': ' + tmp + '<br>';
		}
		i++;
	}

	//alert(ret);
	return contenu;
}

function serializeArr(ar){
	//var db=safeFindObj('tempdebug');
	var ret='';
	var contenu = '';
	var tmp;
	var i=0;
	for(var k in ar){
		tmp= ar[k];
		if(typeof(tmp)=='object'){
			contenu += 's:' + k.length + ':"' + k + '";';
			contenu += serializeArr(tmp);
		} else {
			if(tmp===false || null==tmp){tmp='_false';}
					
			if(tmp=='&nbsp;'){tmp=' ';}
			tmp=tmp.replace(/\s/g,' ');
			
			//db.innerHTML += k + tmp.length + ':' + tmp + '<br>';
			
			contenu += 's:' + k.length + ':"' + k + '";';
			contenu += 's:' + tmp.length + ':"' + tmp + '";';
		}
		i++;
	}
	ret += 'a:' + i + ':{' + contenu + '}';
	//alert(ret);
	return ret;
}


function loopNode(n){
	var o='l=' + n.childNodes.length + '\r\n';
	for(var i=0;i<n.childNodes.length;i++){
		o = o + i + ' ' + n.childNodes[i].id + '\r\n';
	}
	alert(o);
}