


//validate
function validate_formRegister(form) {
	
	var a_fields = [
		{   'n':'email', //name of element
			'r':'true',      //must for validate
			'f':'email'      //regExp
		},
		{'n':'password','r':true,'f':'alpha'},
		{'n':'firstname','r':true,'f':'alpha'},
		{'n':'lastname','r':true,'f':'alpha'},
		{'n':'country','r':true,'f':'alpha'},
		{'n':'state','r':true,'f':'alpha'},
		{'n':'city','r':true,'f':'alpha'},
		{'n':'zip','r':true,'f':'alpha-num'},
		{'n':'address','r':true,'f':'alpha-num'},
		{'n':'phone','r':false,'f':'phone'}
	],
	
	a_format = [
	{'k':'alpha','v':'^[a-zA-Z0-9,. _()-]*$'},
	{'k':'alpha-num','v':'^[a-zA-Z0-9,. _()-]*$'},
	{'k':'none','v':'^.*$'},
	{'k':'unsigned','v':'^[0-9]+$'},
	{'k':'integer','v':'^[+-]?[0-9]+$'},
	{'k':'real','v':'^[+-]?([0-9]*\.)?[0-9]+$'},
	{'k':'email','v':'^[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,4}$'},
	{'k':'phone','v':'^[-0-9]+$'},
	{'k':'date','v':'^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/0[1-9]$'},
	{'k':'file','v':'^.+(.txt|.doc|.html)$'}
	];
	
	for (var i = 0; i < a_fields.length; i++) {

		//example: document.formName.elements[nameOfField]
		var tmp = document.registerForm.elements[a_fields[i].n];	

		//checking for empty
		if (tmp.value == '' && a_fields[i].r) { 
			tmp.className = "warningTextField";
			alert('Textfield "' + tmp.name + '" is required!');
			tmp.focus();	

			return false;
		}		
		//checking input value for regExp
		else if (tmp != '' && a_fields[i].r) { 

			//select need format
			var format; 
			for (var j = 0; j < a_format.length; j++) { 
				if (a_fields[i].f == a_format[j].k) {
					format = a_format[j].v;					    
				}
			} 
			//making check
			if (!tmp.value.match(format)) { 
				tmp.className = "warningTextField";
				alert('Textfield "' + tmp.name + '" has incorrect format!');
				tmp.select();	
				
				return false;
				
			}  else { 
				//return standard style
				tmp.className = "normalTextField";
			}
		}
	} 
	
	return true;
} 

