
/* affiche dans la console le message str */
var netdebug = function( str) {
	if( CONFIG == 'TEST' ) {
		if(window.console) {
			if(window.console.log) {
				console.log( str);
			}
		}
	}
}

/* return true si la chaine est vide ou indefini */
var empty = function( mixed_var) {
	// !No description available for empty. @php.js developers: Please update the function summary text file.
	// 
	// version: 911.1619
	// discuss at: http://phpjs.org/functions/empty    // +   original by: Philippe Baumann
	// +      input by: Onno Marsman
	// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +      input by: LH
	// +   improved by: Onno Marsman    // +   improved by: Francesco
	// +   improved by: Marc Jansen
	// +   input by: Stoyan Kyosev (http://www.svest.org/)
	// *     example 1: empty(null);
	// *     returns 1: true    // *     example 2: empty(undefined);
	// *     returns 2: true
	// *     example 3: empty([]);
	// *     returns 3: true
	// *     example 4: empty({});    // *     returns 4: true
	// *     example 5: empty({'aFunc' : function () { alert('humpty'); } });
	// *     returns 5: false
	
	var key;
	if (mixed_var === "" ||
		mixed_var === 0 ||
		mixed_var === "0" ||
		mixed_var === null ||
		mixed_var === false ||
		typeof mixed_var === 'undefined'
	){
		return true;
	}
	if (typeof mixed_var == 'object') {
		for (key in mixed_var) {
			return false;
		}
		return true;
	}
	
	return false;
}

function isset () {
	// !No description available for isset. @php.js developers: Please update the function summary text file.
	// 
	// version: 909.322
	// discuss at: http://phpjs.org/functions/isset    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: FremyCompany
	// +   improved by: Onno Marsman
	// *     example 1: isset( undefined, true);
	// *     returns 1: false    // *     example 2: isset( 'Kevin van Zonneveld' );
	// *     returns 2: true
	
	var a=arguments, l=a.length, i=0;
	if (l===0) {
		throw new Error('Empty isset'); 
	}
	
	while (i!==l) {
		if (typeof(a[i])=='undefined' || a[i]===null) { 
			return false; 
		} else { 
			i++; 
		}
	}
	return true;
}

//Fonction permettant de récupérer un nombre à la fin d'une chaîne
function getEndNumber(str) {
	return str.match(/\d+$/)[0];
}

//Fonction permettant de récupérer un paramètre à la fin d'une chaîne
function getEndParam(str, sep) {
	if (typeof(sep) == 'undefined') sep = '-';
	var id = str.split(sep);
	return id[1];
}

function getValFromCheckboxName( name) {
	var data = new Array();
	$('input[name="'+name+'"]:checked').each( function() {
		data[data.length] = $(this).val();
	});
	return data;
}

function getValFromRadioName( name) {
	var data = new Array();
	$('input[name="'+name+'"]:checked').each( function() {
		data[data.length] = $(this).val();
	});
	if( data.length > 0 ) return data[0];
	return '';
}

// function pour avoir un texte par défault dans un input
function init_focus_blur(jq_elt,text) {
	if(jq_elt.val()=='') {
		jq_elt.css('font-style','italic');
		jq_elt.val(text);
	}
	jq_elt.focus(function() {
		if( jq_elt.val() == text ) {
			jq_elt.val( '');
			jq_elt.css('font-style','normal');
		}
	});
	jq_elt.blur(function() {
		if( jq_elt.val() == "" ) {
			jq_elt.val( text);
			jq_elt.css('font-style','italic');
		}
	});
}

function verif_email( email) {
	//var atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // caractères autorisés avant l'arobase
	//var domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
	//var reg = new RegExp("^" + atom + "+" + "(\." + atom + "+)*" +"@" +"(" + domain + "{1,63}\.)+" + domain + "{2,63}$", "i");
	
	//if( reg.test( email) ) {
	if( /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test( email) ) {
		return true;
	} else {
		return false;
	}
}


function setErreur( id) {
	if( $('#'+id).hasClass( 'error') == false ) $('#'+id).addClass( 'error');
	if( $('#'+'label_'+id).hasClass( 'error') == false ) $('#'+'label_'+id).addClass( 'error');
};

function unsetErreur( id) {
	if( $('#'+id).hasClass( 'error') == true ) $('#'+id).removeClass( 'error');
	if( $('#'+'label_'+id).hasClass( 'error') == true ) $('#'+'label_'+id).removeClass( 'error');
};

function validateCP( str) {
	if( str.length != 5 ) return false;
	if( str < 1000 ) return false;
	var reg = new RegExp("^[0-9]{5}$", "");
	if(reg.test(str) == false) {
		return false;
	} else {
		return true;
	}
}

function validateTel( str) {
	if( str.length != 10 ) return false;
	var reg = new RegExp("^(0[1-9]{1}[0-9]{8})$", "");
	if(reg.test(str) == false) {
		return false;
	} else {
		return true;
	}
}

function verif_champ( champ, type) {
	if( empty( champ) ) return false;
	switch( type) {
		case 'email': if( !verif_email( champ) ) return false;break;
		case 'civilite':if( champ != 'Mme' && champ != 'Mle' && champ != 'M.' && champ != 'M' && champ != 'Mlle' && champ != 'Mademoiselle' && champ != 'Madame' && champ != 'Monsieur' ) return false;break;
		case 'telephone':if( /^([0-9 \.()+]{10,20})$/.test( champ) == false ) return false;break;
		case 'telephone_strict':if( /^(0[1-9]{1}[0-9]{8})$/.test( champ) == false ) return false;break;
		case 'varname': if( /^[-_a-zA-Z0-9]{1,50}$/.test( champ) == false ) return false;break;
		case 'word':if( /^[-_a-zA-Z0-9()\/\'éèàù^êûôîçäëïöü]{2,75}$/.test( champ) == false ) return false;break;
		case 'words':if( /^[-_a-zA-Z0-9()\/\'"& éèàù^êûôîçäëïöü]{2,75}$/.test( champ) == false ) return false;break;
		case 'name':if( /^[-a-zA-Z\' éèàùêûôîçäëïöü]{1,150}$/.test( champ) == false ) return false;break;
		case 'cp':if( /^[0-9]{4,5}$/.test( champ) == false ) return false;break;
		case 'cp_strict':if( /^[0-9]{5}$/.test( champ) == false ) return false;break;
		case 'integer':if( /^([0-9]*)$/.test( champ) == false ) return false;break;
		case 'float':if( /^([0-9]*)+(\.([0-9])+)?$/.test( champ) == false ) return false;break;
		//case 'date_ymd':var tab_date=champ.split('-');if(!checkdate((int)$tab_date[1],(int)$tab_date[2],(int)$tab_date[0])) return false;break;
		case 'date_dmy':if( /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test( champ) == false ) return false;break;
		//case 'time_his':var tab_time=champ.split(':');if(count($tab_time)!=3 || $tab_time[0]<0  || $tab_time[0]>23 || $tab_time[1]<0  || $tab_time[1]>59 || $tab_time[2]<0  || $tab_time[2]>59) return false;break;
		case 'key':if( /^[-_a-zA-Z0-9]{32}$/.test( champ) == false ) return false;break;
		case 'password':if( /^[-_a-zA-Z0-9]{6,20}$/.test( champ) == false ) return false;break;
		case 'none':break;
		default:return false;break;
   }
   return true;
}


/*********** GOOGLE ANALYTICS ***********/

function ga_track_event() {
	tab = ['_trackEvent'];
	// parcours les paramètres
	for (var i = 0; i < arguments.length; i++) {
		tab.push(arguments[i]);
	}
	if(CONFIG=='PROD') {
		_gaq.push(tab);
	}
}

function ga_track_page(page_name) {
	if(CONFIG=='PROD') {
		_gaq.push(['_trackPageview', page_name]);
	}
}
