
function frmCtrl(frm){
	var i = 0;
	var result = true;
	var aryData = new Array();
	for ( i=0; i < varyRequiredFields.length; i++) {
		aryData = varyRequiredFields[i].split( "," );
		if ( aryData[0] == "length" ){
			result = ctrl_length( frm, aryData[1], aryData[2]);
		} else if ( aryData[0] == "number" ){
			result = ctrl_number( frm, aryData[1], aryData[2]);
		} else if ( aryData[0] == "checked" ){
			result = ctrl_checked( frm, aryData[1], aryData[2]);
		} else if ( aryData[0] == "date" ){
			result = ctrl_date( frm, aryData[1], aryData[2]);
		} else if ( aryData[0] == "email" ){
			result = ctrl_email( frm, aryData[1], aryData[2]);
		}
		if ( !result )
			return false;
	}
	return true;
}

function ctrl_length(formObj,fieldName,fieldHelp){
	var vField;
		vField = formObj.elements[fieldName];
		if ( vField.value.length == 0 ) {
			alert( eval( "varyRequiredHelp['" + fieldHelp + "']" ) );
			vField.focus();
			return false;
		} else {
			// alert( "nom:" + vField.name + " valeur" + vField.value );
			return true;
		}
}

function ctrl_number(formObj,fieldName,fieldHelp){
	var vField;
		vField = formObj.elements[fieldName];
		if ( !isNumber(vField.value) ) {
			alert( eval( "varyRequiredHelp['" + fieldHelp + "']" ) );
			vField.focus();
			return false;
		} else {
			// alert( "nom:" + vField.name + " valeur" + vField.value );
			return true;
		}
}

function ctrl_checked(formObj,fieldName,fieldHelp){
	var vField;
		vField = formObj.elements[fieldName];
		if ( !vField.checked ) {
			alert( eval( "varyRequiredHelp['" + fieldHelp + "']" ) );
			vField.focus();
			return false;
		} else {
			// alert( "nom:" + vField.name + " valeur" + vField.value );
			return true;
		}
}

function ctrl_date(formObj,fieldName,fieldHelp){
	var vField = formObj.elements[fieldName];
    var pattern_date = /^([0-3][0-9]\.([0][1-9]|[1][0-2])\.([1][9]|[2][0])[0-9][0-9])$/;
	var vFieldValeur = vField.value;
	if ( !isEmpty(vFieldValeur) ){
		if ( vFieldValeur.match(pattern_date) == null ) {
			alert( eval( "varyRequiredHelp['" + fieldHelp + "']" ) );
			vField.focus();
			return false;
		} else {
			// alert( "nom:" + vField.name + " valeur" + vField.value );
			return true;
		}
	} else {
		return true;
	}
}


function ctrl_email(formObj,fieldName,fieldHelp){
	var vField = formObj.elements[fieldName];
	var vFieldValue =  vField.value;
	if ( !isEmpty(vFieldValue) ) {
		var at_pos  = vFieldValue.indexOf('@');
		var dot_pos = vFieldValue.indexOf('.', at_pos); 
		if (dot_pos > at_pos && at_pos != -1) {
			return true;
		} else {
			alert( eval( "varyRequiredHelp['" + fieldHelp + "']" ) );
			vField.focus();
			return false;
		}
	} else {
		return true;
	}
}


function isEmpty(inputStr) {
	if (inputStr == null || inputStr == "" ) {
		return true;
	}
	return false;
}

function isNumber(inputVal) {
	oneDecimal = false;
	inputStr = "" + inputVal;
	for (var i=0; i< inputStr.length; i++) {
		var oneChar = inputStr.charAt(i);
		if (i == 0 && oneChar == "-") {
			continue
		}
		if (oneChar == "." && !oneDecimal) {
			oneDecimal = true;
			continue
		}
		if (oneChar < "0" || oneChar > "9") {
			return false
		}
	}
	return true
}


