function validate(fld)	
{
	if (!fld.value.length)
	{
		alert('Please fill all required fields !');
		return false;
	}
	return true;
}

function _validate(fld, regexp, oblig, message)
{
	if (oblig==1)
	{
		if (!validate(fld))
		{
			fld.focus();
			return false;
		}
	}
	
	if (fld.value.length==0)
		return true;
	else
		if (!fld.value.match(regexp))
		{
			alert(message);
			if (oblig==1)
				fld.focus();
			return false;
		}
	return true;
}

function validateEmpty(fld,oblig)
{
	if (oblig==1)
	{
		if (!validate(fld))
		{
			fld.focus();
			return false;
		}
	}
	
	return true;
}

function validateEmail(fld,oblig)
{
	return _validate(fld, /^[\w\.-]+@[\w\.-]+\.[\w\.]{2,6}$/ ,oblig,"Wrong e-mail format !");
}	

function validateImage(fld,oblig)
{
	return _validate(fld, /(jpg|jpeg|png|gif|bmp)$/i ,oblig,"Wrong image format !");		
}

function validateNumber(fld, oblig)
{
	return _validate(fld, /^[0-9]*$/ ,oblig,"Wrong number format !");	
}

function validateCount(fld, oblig, allowZero)
{
	if (allowZero>0)
		return _validate(fld, /^(([1-9]{1}[0-9]{0,5})|0)$/ ,oblig,"Wrong count format !");	
	else
		return _validate(fld, /^[1-9]{1}[0-9]{0,5}$/ ,oblig,"Wrong count format !");		
	
}

function validateMoney(fld, oblig)
{
	return _validate(fld, /^\$?[0-9]*\.?[0-9]{0,2}$/ ,oblig,"Wrong money format !");	
}

function validateName(fld,oblig)
{
	if (fld.value.match(/^[^new|view|alter|varchar|integer|create|select|date|time|select|all|begin|catalog|class|cluster|column|comment|convert|object]$/))	
	{
	 alert("Reserved word !");
	 return false;
	}
	return _validate(fld, /^[a-zA-Z]+[a-zA-Z0-9_\.]{0,50}$/,oblig, "Wrong name !");
}

function validateRealName(fld,oblig)
{
	return _validate(fld, /^[a-zA-Z]+[a-zA-Z\. ]{0,50}$/,oblig, "Wrong name !");
}

function validateBookName(fld,oblig)
{
	return _validate(fld, /^[a-zA-Z]+[a-zA-Z0-9_ ]{0,100}$/,oblig, "Wrong name !");
}

function validatePassword(fld,oblig)
{
	return _validate(fld, /^[^\'\"\` ]{1,20}$/,oblig, "Wrong password !");
}

function validateTime(fld, oblig)
{
	return _validate(fld, /^ \d{1,2}(\:+\d{1,2})?(\:+\d{1,2})?$/ ,oblig,"Wrong time format!\n\nShould be HH:mm:ss.");
}

function validateDate( fld, oblig )
{
	return _validate( fld, /^\d{1,2}\/+\d{1,2}\/+(\d{2}|\d{4})$/, oblig, "Wrong date format!\n\nShould be MM/DD/YYYY." );
}

function validateDateTime( fld, oblig )
{
	return _validate( fld, /^\d{1,2}\/+\d{1,2}\/+(\d{2}|\d{4})( \d{1,2}(\:+\d{1,2})?(\:+\d{1,2})?)?$/, oblig, "Wrong datetime format!\n\nShould be MM/DD/YYYY HH:mm:ss." );
}