var field_main;
function do_blink(field)
{
	var errorcolor="#ff0000";
	field.focus();
	field.select();
	field.style.background=errorcolor;
    field_main=field;
	setInterval("temp()",700);    
}

function temp(field)
{
var okcolor="#ffffff";
field_main.style.background=okcolor;
}

function validate(field,prevfield)
{
	
	try
	{
		valiclass=field.getAttribute("valiclass");
		valimessage=field.getAttribute("valimessage");
		if(valiclass=="required")
		{
			
			req=field.getAttribute("req");
			pattern="\\w{"+req+",}";
			if(!field.value.match(pattern))
			{
			alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="email")
		{
			pattern="^\\w{1,}@\\w{1,}(\\.\\w{1,}){1,}$";
			if(!field.value.match(pattern))
			{
				alert(valimessage);do_blink(field);return false;
			}
		
		}
		else if(valiclass=="number")
		{
				
			if((field.value.length<1)||isNaN(field.value))
			{
			alert(valimessage);do_blink(field);return false;
			}
				
		}
		else if(valiclass=="creditcard")
		{
			pattern="^[0-9]{16}$";
			if(!field.value.match(pattern))
			{
			alert(valimessage);do_blink(field);return false;
			}
		
		}
		else if(valiclass=="zip")
		{
			pattern="^[0-9]{5}$";
			if(!field.value.match(pattern))
			{
			alert(valimessage);do_blink(field);return false;
			}
		
		}
		
		else if(valiclass=="code")
		{
			pattern="^[0-9]{3}$";
			if(!field.value.match(pattern))
			{
			alert(valimessage);do_blink(field);return false;
			}
		
		}
		
		else if(valiclass=="select")
		{
			if(field.options[field.selectedIndex].text.toLowerCase()=="select")
			{
			alert(valimessage);
			field.focus();
			return false;
			}
			
		}
		else if(valiclass=="newselect")
		{
			if(field.value=="n/a")
			{
			alert(valimessage);
			field.focus();
			return false;
			}
			
		}
		
		
		else if(valiclass=="date")
		{
			pattern="^[0-9]{4}\\-[1-9]{1,2}\\-[1-9]{1,2}$";
			if(!field.value.match(pattern))
			{
			alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="integer")
		{
			$bool=field.value.match("^[0-9]{1,4}$");
			
			if((!$bool)||isNaN(field.value)||(field.value.indexOf(".")!=-1))
			{
			alert(valimessage);do_blink(field);return false;
			}
		}
		else if(valiclass=="picture")
		{
			if(field.value.length<1)
			return true;
			values=field.value.toLowerCase();
			if(!ends_with(values,".jpg"))
			{
			alert(values+" is not a valid jpg file");
			do_blink(field);
			return false;
			}
		}
		else if(valiclass=="confirmpwd")
		{
			if(field.value=="")
			{
				alert(valimessage);
				field.focus();
				return false;
			}//if
			else if(prevfield.value!=field.value)
			{
				alert("Confirm password does not match");
				field.value="";
				field.focus();
				return false;
			}
	}//if
	return true;
	}
	catch(ex)
	{
		alert(ex.message);
		return true;
	}
}
function call_validate(form,from,to)
{
	for(counter=from;counter<to;counter++)
	{
		bool=validate(form[counter],form[counter-1]);
		if(!bool)
		{
			return false;
			break;
		}
	}
	form.submit();
}

/////////////////////
function getIndex(form,what) {
    for (var i=0;i<form.length;i++)
        if (what == form[i])
            return i;
    return -1;
}

