function checkreco( form )
{
	var error = "";
	error+=CheckField(form.rdate,"Date");
	error+=CheckField(form.scode,"Company Name");	
	error+=CheckField(form.r_to,"New Rating");
	error+=CheckField(form.r_from,"Old Rating");
	error+=CheckNumber(form.target,"Target price",0);
	if (error != "")
	{
		alert("Please fill required fields:"+error );    
		return false;
	}
	return true;
}
function checkreg( form )
{
  var error = "";
  var passnot="";
  var alphaExp = /^[a-zA-Z]+$/;  // allow letters, numbers, and underscores
  var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
  var dateFilter = /^[0-9]{4}-[0-9]{2}-[0-9]{2}/;

  
  error+=CheckField(form.fname,"First Name");
  error+=CheckField(form.lname,"Last Name");	
  error+=CheckField(form.birth,"Birth date");
  error+=CheckField(form.gender,"Gender");
  error+=CheckField(form.address,"Home address");
  error+=CheckField(form.city,"City");
  error+=CheckField(form.country,"Country");
  error+=CheckField(form.zip,"Zip code");
  error+=CheckField(form.email,"Email");
  error+=CheckField(form.password,"Password");
  
  error+=CheckNumber(form.income,"Income",0);
  error+=CheckNumber(form.experience,"Experience",60);
  error+=CheckNumber(form.total,"Total",0);
  
  form.password2.style.background='White';
  
  passnot+=CheckContent(form.fname,alphaExp,"First name");
  passnot+=CheckContent(form.lname,alphaExp,"Last name");
  passnot+=CheckContent(form.birth,dateFilter,"Birth date");
  passnot+=CheckContent(form.email,emailFilter,"Email");
  
  if (form.password.value != form.password2.value)
  {
		form.password2.style.background='Yellow';
		passnot+="\nRetype password corectly";
  }
  if (error != "")
  {
    alert("Please fill required fields:"+error );    
    return false ;
  }
  if (passnot != "")
  {
    alert("You should correct some errors:\n"+passnot);    
    return false ;
  }
  return true;
}

function CheckNumber(field,name,range)
{
	var err="";
	field.style.background = 'White'; 
	var valOf=parseFloat(field.value);
	if (isNaN(valOf))
	{
		field.style.background = 'Yellow'; 
		if (field.value!="")
			err="\n* "+name+" - use only digits and '.' as decimal separator.";
		else
			err="\n* "+name+" - fill field with number.";
	}else
	{
		if (valOf<0)
		{
			field.style.background = 'Yellow';	
			err="\n* "+name+" - value should be positive.";
		}else
		if ((valOf>range) && (range>0))
		{
			field.style.background = 'Yellow';	
			err="\n* "+name+" - value to high ?";
		}
	}
	return err;
}

function CheckContent(field,filter,name)
{
	var err="";
	field.style.background = 'White'; 
	if (!field.value.match(filter))
	{
		field.style.background = 'Yellow'; 	
		err="\n* "+name+" - bad format";
	}
	return err;
}
function CheckField(field,descr)
{
var err="";
	if (field.value == "") {
		field.style.background = 'Yellow'; 
		err="\n* "+descr;
	}else  	
	{
		field.style.background = 'White';	
	}
	return err;
}

