// JavaScript Document
function erreurCheck(champ, message) {
    if (message) {                              // Si on ne donne pas de message, on reste silencieux...
        alert(message);
        if ( champ.type && champ.type != "[object]") champ.focus();     // Les boutons radios sont multiples : on ne peut pas leur apporter le focus globalenent
    }
    return false;
}

function checkSelect(champ, message) {
    var nArgs = checkSelect.arguments.length;
	var firstCheckElement = 1;
	if (nArgs>2) firstCheckElement = checkSelect.arguments[2];
	if (champ.selectedIndex < firstCheckElement) return erreurCheck(champ, message);
	else return true;
}

function checkUpload(champ, message, extensions) {
    var checkNOK = "àâäéèêëìîïùûüÿ";
    var checkStr = String(champ.value);
    var nArgs = checkUpload.arguments.length;
	var necessaire = (nArgs>3)?checkUpload.arguments[3]:false;
	if (checkStr=='' && necessaire) {
		return erreurCheck(champ, message);
	}
	if (checkStr=='' && !necessaire) return true;

	checkStr = checkStr.toLowerCase();

    /*for (pos = 0; pos < checkNOK.length; pos++) {
        if (checkStr.indexOf(checkNOK.charAt(pos)) >= 0) {
			return erreurCheck(champ, 'Vous ne pouvez utiliser d\'accent dans les fichiers. Veuillez renommer ce fichier.');
        }
    }*/

	var ext = String(extensions);
	ext = ext.toLowerCase();
	var splitExt = ext.split(",");
	for (var i=0; i<splitExt.length; i++) {
		if (checkStr.indexOf(splitExt[i])>-1) return true;
	}
	return erreurCheck(champ, message);
}

function checkText(champ, message) {
    var nArgs = checkText.arguments.length;
    if (nArgs<=2) {
		if (champ.value=='') {
			return erreurCheck(champ, message);
		}
	} else {
		if (champ.value==checkText.arguments[2]) {
			return erreurCheck(champ, message);
		}
		var necessaire = (nArgs>3)?checkText.arguments[3]:false;
		if (necessaire && champ.value=='') {
			return erreurCheck(champ, message);
		}
	}
	return true;
}

function checkEmail(champ, message) {
    var checkStr = champ.value.toLowerCase();
    var checkOK = "0123456789abcdefghijklmnopqrstuvwxyz-_/.@";
    var pos, car, valide = true, posAt = -1, posDot = -1;
	var necessaire = (checkEmail.arguments.length>2)?checkEmail.arguments[2]:false;

	if (checkStr=='') {
		if (necessaire) return erreurCheck(champ, message);
		else return true;
	}

    for (pos = 0; pos < checkStr.length; pos++) {
        if (checkStr.charAt(pos) == '@') {
            posAt = pos;
            continue;
        }
        if (checkStr.charAt(pos) == '.') {
            posDot = pos;
            continue;
        }
        if (checkOK.indexOf(checkStr.charAt(pos)) == -1) {
            valide = false;
            break;
        }
    }

    if (valide && (posAt > -1) && (posDot > posAt + 1) && (posDot < checkStr.length - 1)) {
        return true;
    } else {
        return erreurCheck(champ, message);
    }

}
