/* tools.js : contient les outils de développement de Dyplo */

var debug=true; // variable booléenne permettant d'afficher ou non les sorties console

// permet d'afficher une entrée dans la console, si elle existe et que les sorties sont activées
function tester(txt){
	//if(console!=undefined && debug) console.log(txt);
	if(debug){
		try{
			console.log(txt);
		}
		catch(e){
			return;
		}
	}
}

// fonction récursive permettant de renvoyer un object ou un tableau dans une chaine au format json
function objectToString(obj,tab){
	if(tab==null) tab=false;
	
	var out="";
	
	if(tab) out+="[";
	else out+="{";
		
	for(elem in obj){
		tester(obj[elem]);
		if(!tab) out+='"'+elem+'":';
		if(elem=="elements" || typeof(obj[elem])=="object" || typeof(obj[elem])=="array")
			//if(!tab) out+='"';
			out+=objectToString(obj[elem],(typeof(obj[elem])=="array" || elem=="elements")?true:false);
			//if(!tab) out+='"';
		else out+='"'+((obj[elem].replace(/([^\\])?\"/g,'$1\\"')).replace(/\n\t/g,''))+'"'; //.replace(/([^\\])\'/g,"$1\\'")
		out+=',';
	}
	if(out.length>1) out=out.substr(0,out.length-1);
		
	if(tab) out+="]";
	else out+="}";

	//out=out.substr(0,out.length-1);
	return out;
}

function verif_email(chaine){
	var expReg=/^[a-zA-Z0-9](?:[-_.]?[a-zA-Z0-9])+_?@[a-zA-Z0-9](?:[-.]?[a-zA-Z0-9])+\.[a-z]{2,4}$/;
	//tester("verif_email : "+chaine+" : "+expReg.test(chaine));
	return expReg.test(chaine);
}

// retourne false pour tous les liens ne contenant que l'url “#”
function disableSharpLinks(){
	$("a[href='#']").click(function(){ return false; });
}

