function intval (mixed_var, base) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: stensi
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   input by: Matteo
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: intval('Kevin van Zonneveld');
    // *     returns 1: 0
    // *     example 2: intval(4.2);
    // *     returns 2: 4
    // *     example 3: intval(42, 8);
    // *     returns 3: 42
    // *     example 4: intval('09');
    // *     returns 4: 9
    // *     example 5: intval('1e', 16);
    // *     returns 5: 30

    var tmp;

    var type = typeof( mixed_var );

    if (type === 'boolean') {
        return (mixed_var) ? 1 : 0;
    } else if (type === 'string') {
        tmp = parseInt(mixed_var, base || 10);
        return (isNaN(tmp) || !isFinite(tmp)) ? 0 : tmp;
    } else if (type === 'number' && isFinite(mixed_var) ) {
        return Math.floor(mixed_var);
    } else {
        return 0;
    }
}


/**
 * Verifi si une date est valide
 * @param date
 * @return true si valide, sinon false
 */
function isValidDate(date) {
	var tableauDate = date.split("/");
	
	if(tableauDate.length == 3) {
		var jour = tableauDate[0];
		var mois = tableauDate[1];
		var annee = tableauDate[2];
		
		// Si le jour est incohérent
		if(jour <= 0)
			return false;
		
		// On verifie le nombre de jours dans le mois
		switch(mois) {
			case "01": case "03": case "05": case "07": case "08": case "10": case "12":
				return (jour <= 31); // Si c'est moins de 31 jours
			case "04": case "06": case "09": case "11":
				return (jour <= 30); // Si c'est moins de 30 jours
			case "02":
				// Si elle est bixestille
				if((annee%4 == 0 && annee%100 != 0) || (annee%400 == 0))
					return (jour <= 29); // Si c'est moins de 29 jours
				return (jour <= 28); // Si c'est moins de 28 jours
			default:
				return false;
		}
	}
	return false;
	
}

/**
 * Compare deux dates
 * @param date1
 * @param date2
 * @return true si la première est inférieur à la deuxième sinon, false
 */
function dateInferieurEgale(date1, date2) {
	var tableauDate1 = date1.split("/");
	var tableauDate2 = date2.split("/");
	
	if(tableauDate1.length == 3 && tableauDate2.length == 3) {
		var jour1 = tableauDate1[0];
		var mois1 = tableauDate1[1];
		var annee1 = tableauDate1[2];
		
		var jour2 = tableauDate2[0];
		var mois2 = tableauDate2[1];
		var annee2 = tableauDate2[2];
		
		// On assemble le tout pour les comparer
		var d1 = intval(annee1 + mois1 + jour1);
		var d2 = intval(annee2 + mois2 + jour2);
		
		return (d1 <= d2);
	}
	return false;
}
 
/**
 * Vérifi les champs du formaulaire, passés en paramètre
 * 
 * @param json _champs
 * 
 * @return boolean
 */
function verifForm( _champs ) {
	var ok = true ;
	
	// Pour chaque champs on vérifi qu'il n'est pas null
	for( var i = 0; i < _champs.length; i++ ) {
		var c = _champs[ i ] ;
		// Si le champs est vide 
		if( $('#' + c).val() == '' ) {
			// Alors on met ok à false
			ok = false ;
			// Le champs devient rouge
			$('#' + c).css( 'background-color', '#ffcaca' ) ;
		}else {
			// Le champs devient blanc
			$('#' + c).css( 'background-color', '#ffffff' ) ;
		}
	}
	// On retourne ok
	return ok ;
}

function verifMail( adresse ) {
	adresse = adresse.val() ;
	var place = intval( adresse.indexOf( '@', 1 ) ) ;
	var point = intval( adresse.indexOf( '.', place + 1 ) ) ;
	if ( ( place > -1 ) && ( adresse.length > 2 ) && ( point > 1 ) ) {
		return true ;
	}
	else {
		alert( 'Entrez une adresse e-mail valide !' ) ;
		return false ;
	}
}

/**
 *	Téléchargement de fichier
 */
function download( _id, _type ) {
	var lien = _root_html + '/download.php?id=' + _id + '&type=' + _type ;
	$('#download').empty() ;
	$('#download').append( '<iframe src="' + lien + '"></iframe>' ) ;
}
