/****************************************************************************/
//  DDX - dynamic data exchange
//
//  Description:
//  Validation wrappers for forms
//  
//  Author: Ralph Lorenc 
//  E-Mail: r.lorenc@it-system.pl	 
//  (c) 1999-2004, Internet Technology System Solutions Sp. z o.o. 
//  http://www.it-system.pl (.com) (.de)
//	   
//  All right reserved. Any portions of this code cannot be 
//  used in any form  without licence by IT-SYSTEM company.  
/****************************************************************************/

var cDDX_ALERT  = 1;
var cDDX_STRING = 2;

var DDX_MESSAGE = cDDX_ALERT;
var DDX_error = "";

function DDXMessage(errmsg) {
	if (DDX_MESSAGE == cDDX_ALERT) 
		alert(errmsg);
		
	if (DDX_MESSAGE == cDDX_STRING) 
		DDX_error += errmsg;
}

function DDXLen(control,minLen,maxLen,errmsg)
{
	var s = control.value;
	if (s.length < minLen || s.length > maxLen )
	{
		self.status=errmsg;
		control.focus();
		control.select();
		DDXMessage(errmsg);
			
		return false;
	}
	return true;
}
	
function DDXInt(control,min,max,errmsg)
{
	var s = control.value;
	
	if ( isNaN (s,10)  )
	{
		self.status=errmsg;
		control.focus();
		control.select();
		DDXMessage(errmsg);
		return false;
	}
	
	if ( s.valueOf() < min || s.valueOf() > max )
	{
		self.status=errmsg;
		control.focus();
		control.select();
		DDXMessage(errmsg);
		return false;
	}
	return true;
}


function DDXChecked(control,nochecked,errmsg)
{
	if (!control.length) {
		if (nochecked==1 && control.checked ) 
			return true;
		else {
			DDXMessage(errmsg);
			return false;	
		}	
	}

	var l = control.length;
	
	
	var bRet = false;
	
	for ( i=0;i<l;i++ ) {
		if ( control[i].checked ) {
			nochecked--;
		}
	}
	
	bRet = (nochecked <= 0);
	
	if ( !bRet )
		DDXMessage(errmsg);
		
	return bRet;
}


function DDXEMail(control, errmsg)
{
	var s = control.value;
	var rE = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	var mArr = s.match(rE);
	if (mArr == null) 
	{
		self.status=errmsg;
		control.focus();
		control.select();
		DDXMessage(errmsg);
		return false;
	}	

	return true;		
}

function DDXRExp(control, rE, errmsg)
{
	var s = control.value;
	var ms
	var mArr = s.match(rE)
	if (mArr != null)  {
		ms = mArr.toString();
	}
	else
		ms = null;
		
	if (ms != s) 
	{
		self.status=errmsg;
		control.focus();
		control.select();
		DDXMessage(errmsg);
		return false;
	}	
	return true;		
}



