// JavaScript Document : Sweeney Estate Agents : Chris De David : MaasMedia : 29-10-2007


// @Use : must change form name variable
//		: Add field names to arrays corresponding the type of validation required for that field.
var formName = "sweeneyform";
// Some forms require the user to click in a check box to confirm they have done something
// for example, reading a privacy statement.
var postSubmitCheckboxName = "chk_agree"; // if "" then don't check
var postSubmitCheckboxNameInfo = "You must read the terms and conditions, then 'check' the box.";
// Validates for input, not empty.
var arrCompulsoryFields = new Array( "name","email");
// Comprehendible names for the fields above. Must have one for each one above.
var arrCompulsoryFieldsInfo = new Array("Name","Email");
// Validates 'Select', not empty.
var arrCompulsorySelects = new Array( "e_location" );
// Comprehendible names for the fields above. Must have one for each one above.
var arrCompulsorySelectsInfo = new Array( "Choose an agency" );
	// Check that a radio button in each group has been 'checked'
//var arrCompRadGrps = new Array( "owner" );
	// Comprehendible names for the fields above. Must have one for each one above.
//var arrCompRadGrpsInfo = new Array( "Owner / Tenant" );
// Validates for input, not empty. At least one in "Group" needs a value
var arrGrpCompulsoryFields = new Array();
// Comprehendible names for the fields above. Must have one for each one above.
var arrGrpCompulsoryFieldsInfo = new Array();
	// Validates for alphabetical chars only.
var arrAlphaFields = new Array( "name");
	// Comprehendible names for the fields above. Must have one for each one above.
var arrAlphaFieldsInfo = new Array( "Name");
	// Validates for numerics only.
//var arrNumFields  = new Array( "pcode" );
	// Comprehendible names for the fields above. Must have one for each one above.
//var arrNumFieldsInfo  = new Array( "Post Code" );
	// Validates for email address only.
var arrEmailFields = new Array( "email" );
	// Comprehendible names for the fields above. Must have one for each one above.
var arrEmailFieldsInfo = new Array( "Email Address" );
	// Validates for alphanumerics only.
//var arrAlphaNumFields = new Array();
	// Comprehendible names for the fields above. Must have one for each one above.
//var arrAlphaNumFieldsInfo = new Array();
	// Validates for alphanumerics, comma, spaces, hyphens, slashes only.
//var arrStreetFields = new Array( "street", "pastreet" );
	// Comprehendible names for the fields above. Must have one for each one above.
//var arrStreetFieldsInfo = new Array( "Street", "Property Street" );
	// Validates for a number > 0999 and < 10,000.
//var arrPostCodeFields = new Array( "pcode" );
	// Comprehendible names for the fields above. Must have one for each one above.
//var arrPostCodeFieldsInfo = new Array( "Post Code" );
function mySubmit() {
	if( checkForm() ){
		eval( "document."+formName+".submit()" );
		return true;
	}
	return false;
}
function checkForm() {
	var error = "";
	// Check all compulsory fields.
	for( var i=0; i<arrCompulsoryFields.length; i++ ){
		error += checkCompulsoryField(arrCompulsoryFields[i], formName, arrCompulsoryFieldsInfo[i]);
	}
	
	// Check all compulsory fields.
	for( var i=0; i<arrCompulsorySelects.length; i++ ){
		error += checkCompulsorySelect(arrCompulsorySelects[i], formName, arrCompulsorySelectsInfo[i]);
	}
	/*// Check all compulsory radio groups.
	for( var i=0; i<arrCompRadGrps.length; i++ ){
		if( !checkRadioGroup( eval( "document."+formName+"."+arrCompRadGrps[i] ) ) ) {
			error += "One of the radio buttons must be selected for "+arrCompRadGrpsInfo[i]+"";
		}
	}
	
	// Check group compulsory fields group.
	var qtyFields = arrGrpCompulsoryFields.length;
	var missCount = 0;
	for( var i=0; i<arrGrpCompulsoryFields.length; i++ ){
		if( checkCompulsoryField(arrGrpCompulsoryFields[i], formName, "" ) != "" ) {
			missCount++;
		}
	}
	if( missCount == qtyFields && qtyFields != 0 ) {
		error += "One Value from this group must be filled in:";
		for( var i=0; i<arrGrpCompulsoryFieldsInfo.length; i++ ){
			error += "\t- "+arrGrpCompulsoryFieldsInfo[i];
		}		
		error += "";
	}
	// Check all numeric fields.
	for( var i=0; i<arrNumFields.length; i++ ){
		error += checkNumField(arrNumFields[i], formName, arrNumFieldsInfo[i]);
	}
*/
	// Check all Alpha filelds	
	for( var i=0; i<arrAlphaFields.length; i++ ){
		error += checkAlphaField(arrAlphaFields[i], formName, arrAlphaFieldsInfo[i]);
	}
/*
	// Check all AlphaNum filelds	
	for( var i=0; i<arrAlphaNumFields.length; i++ ){
		error += checkAlphaNumField(arrAlphaNumFields[i], formName, arrAlphaNumFieldsInfo[i]);
	}
	// Check Street fields
	for( var i=0; i<arrStreetFields.length; i++ ){
		error += checkStreetField(arrStreetFields[i], formName, arrStreetFieldsInfo[i]);
	}
*/
	// Check email	
	for( var i=0; i<arrEmailFields.length; i++ ){
		error += checkEmailField(arrEmailFields[i], formName, arrEmailFieldsInfo[i]);
	}
/*
	// check postcode < 1000
	for( var i=0; i<arrPostCodeFields.length; i++ ){
		if( parseInt(eval("document."+formName+"."+arrPostCodeFields[i])) < 1000 
		||  parseInt(eval("document."+formName+"."+arrPostCodeFields[i])) > 9999 ) {
			error += arrPostCodeFieldsInfo[i]+": Post Code format is incorrect.";
		}
	}
	if( postSubmitCheckboxName != "" ) {
		var chk = eval("document."+formName+"."+postSubmitCheckboxName+".checked");
		if( !chk ) {
			error += postSubmitCheckboxNameInfo;
		}
	}		
*/	
	if( error.length > 0 ) {
		alert( "Form has been filled out incorrectly due to:\n" + error );
		return false;		
	}
	return true;
}
/*
function dblclick_message() {
	alert('heheh, that tickles.Please don\'t double click me!Thank you');
}
*/

