function validate_form(f)
{
	var i=0;
	var  err='';
	while((!err) && i<f.elements.length)
	{
		if (f.elements[i].alt!="" && f.elements[i].alt!=null)
		{
			if (f.elements[i].alt=="blank" && f.elements[i].value=="")
			{
				err = "Please provide "+f.elements[i].name;
			}else { 
				if (f.elements[i].alt=="numeric" && 
					(f.elements[i].value=="" || isNaN(f.elements[i].value)))
				{
				err = "Please provide "+f.elements[i].name;
				} else { 
					if(f.elements[i].name == 'ct_url'  && 
					((f.elements[i].value.lastIndexOf('.') < 5) || f.elements[i].value == 'http://'))
					{ 
						err = "Please provide "+f.elements[i].name;
					}else {			
						if (f.elements[i].alt.substr(0, 6)=="length")
						{
							min_length = f.elements[i].alt.substr(7);
							if (f.elements[i].value.length < min_length)
							{
								err = f.elements[i].name+" must be at least " + min_length + " chars";
							}
						}
					    else { 
							if (f.elements[i].alt=="email" && !validate_email(f.elements[i]))
							{
								err = f.elements[i].name+" is not a valid email address";
							}else {
								if (f.elements[i].alt.substr(0, 7)=="equalto")
								{
									f_name = f.elements[i].alt.substr(8);
									if (f.elements[i].value!=f[f_name].value)
									{
										err = "Please provide "+f.elements[i].name;
									}
								}			
							 
							}
						}
					}
				}
			}
		}
		if(!err) { i++; } 
	} //end while
		
	if(err) { 
		output = err.replace('_', ' ');
		window.alert(output);
		f.elements[i].focus();
		return false;
	}
	else { 
		return true;
	}
}

function validate_form_ex(f)
{
	if ( f.payment_type.value=='c' && f.checks_payable_to.value=='')
	{
		alert('you must specify the "checks payable to" box');
		return false;
	}

	if ( f.payment_type.value=='p' && f.paypal_email.value=='')
	{
		alert('you must enter your paypal email address.');
		return false;
	}

	return validate_form(f);
}


