/*
 *
 * Author        : Stucki Gael
 * Last Modified : 14.09.2006 
 *
 *
*/


/*
 *
 * Function   : requiredValidator
 * Return     : /
 *
*/

	function requiredValidator(formName, ctrlName, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		with(eval("document."+formName)){
			
			var ctrl = eval(ctrlName); 
			
			if (isEmpty(ctrl.value)){
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}else{
				
				ctrlMessage.innerHTML = defaultMessage;
				return true;
			
			}
			
		}
	
	}

/*
 *
 * Function   : mailValidator
 * Return     : /
 *
*/

	function mailValidator(formName, ctrlName, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		with(eval("document."+formName)){
			
			var ctrl = eval(ctrlName); 
			
			if (notValidEmail(ctrl.value)){
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}else{
				
				ctrlMessage.innerHTML = defaultMessage;
				return true;
			
			}
			
		}
	
	}
	
	

/*
 *
 * Function   : regularExpressionValidator
 * Return     : /
 *
*/

	function regularExpressionValidator(formName, ctrlName, defaultExpression, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		with(eval("document."+formName)){
			
			var ctrl = eval(ctrlName); 
			
			if (isValidRegularExpression(ctrl.value, defaultExpression)){
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}else{
				
				ctrlMessage.innerHTML = defaultMessage;
				return true;
			
			}
			
		}
	
	}
	

/*
 *
 * Function   : regularExpressionValidator
 * Return     : /
 *
*/

	function notRegularExpressionValidator(formName, ctrlName, defaultExpression, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		with(eval("document."+formName)){
			
			var ctrl = eval(ctrlName); 
			
			if (isNotValidRegularExpression(ctrl.value, defaultExpression)){
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}else{
				
				ctrlMessage.innerHTML = defaultMessage;
				return true;
			
			}
			
		}
	
	}
	
/*
 *
 * Function   : equalValidator
 * Return     : /
 *
*/

	function equalValidator(formName, ctrlName, ctrlName2, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		with(eval("document."+formName)){
			
			var ctrl = eval(ctrlName); 
			var ctrl2 = eval(ctrlName2); 
			
			if (ctrl.value != ctrl2.value){
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}else{
				
				ctrlMessage.innerHTML = defaultMessage;
				return true;
			
			}
			
		}
	
	}
	
	
/*
 *
 * Function   : intervalValidator
 * Return     : /
 *
*/

	function intervalValidator(formName, ctrlName, intervalString, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		var intervalArray = intervalString.split("-");

		with(eval("document."+formName)){
			
			var ctrl = eval(ctrlName); 
			
			if (ctrl.value.length <  intervalArray[0] || ctrl.value.length >  intervalArray[1]){
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}else{
				
				ctrlMessage.innerHTML = defaultMessage;
				return true;
			
			}
			
		}
	
	}



/*
 *
 * Function   : checkOneValidator
 * Return     : /
 *
*/

	function checkOneValidator(formName, ctrlName, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		with(eval("document."+formName)){
			
			try{
			
				var ctrl = eval(ctrlName); 
				
				if (ctrl.length == undefined && ctrl.checked){
					
					ctrlMessage.innerHTML = defaultMessage;
					return true;
				
				}else{
				
					for (var i = 0; i < ctrl.length; i++){
							
							if (ctrl[i].checked){ 
								
								ctrlMessage.innerHTML = defaultMessage;
								return true;
							
							}
					
					}	
				
				}
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}catch(exc){
				
				// nothing...
				
			}
			
		}
	
	}
	
	
	
	/*
 *
 * Function   : selectValidator
 * Return     : /
 *
*/

	function selectValidator(formName, ctrlName, defaultValueToCheck, ctrlMessageID, defaultMessage, errorMessage){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		
		with(eval("document."+formName)){
			
			var ctrl = eval(ctrlName); 
			
			if (ctrl.value == defaultValueToCheck){
				
				ctrlMessage.innerHTML = errorMessage;
				return false;
			
			}else{
				
				ctrlMessage.innerHTML = defaultMessage;
				return true;
			
			}
			
		}
	
	}
	
	
/*
 *
 * Function   : serverValidator
 * Return     : /
 *
*/

	function serverValidator(ctrlMessageID, Message){
		
		var ctrlMessage = document.getElementById(ctrlMessageID);
		ctrlMessage.innerHTML = Message;
	
	}
