			
// ### VALIDATION PROCESSOR
/////////////////////////////////

	// checks by ID!!!!!!! (id="youridofinputfield") NOT by name ("name="yourinputfieldname")
	// so give the ids and it will check it
	
	/* 	This (FOLLOWING) script and many more are available free online at
		The JavaScript Source :: http://javascript.internet.com
		Created by: 	Amit Wadhwa :: http://amitwadhwa.fcpages.com/javascript.com/formvalidator.html 
		REWRITTEN by: 	Marcus Rose, posarCommunications Ltd. www.posar.de 
				for targeting the ids instead of the name of the inputfields and some other issues
	*/
		
	
	
	
	function check(formname) 
	{
		//
		//THIS IS THE MAINFUNCTION THAT YOU CAN COPY AND RENAME FOR DIFFERENT FORMS
		//
		
		/* call it in 
			<!-- 	Dont use a submitbutton! take type="button" 
				because form will be send with form.submit() here	 
			//-->
			<input type="button" onclick="check('yourformname', this.name)" .../>
		*/
		
		  var errors = '';
		  errors += checkText(formname, 'textfield1ID', 'Name');
		  errors += checkSelect(formname, 'CountryID', 'Country Of Residence');
		  errors += checkText(formname, 'ageID', 'Age Of Person');
		  errors += checkNum(formname, 'ageiD', 'Age Of Person');
		  errors += checkRadio(formname, 'GenderID', 'Your gender');
		  checkThisForm(formname, errors);
	}
	
	
	function checkThisForm(formname, errors) 
	{
		  if (errors == '') 
		  {
			  eval('document.'+formname+'.submit()');
		  } else {
			  alert(errors);
		  }
	}
	
	function checkText(formname, textboxid, displaytext) 
	{
		  var localerror = '';
		  if(Trim(eval('document.getElementById("'+textboxid+'").value'))=='') 
		  {
			  localerror =  '- '+displaytext+' - is Required.\n';
		  }else{ 
			  localerror = '';
		  }
		  
		  return localerror;
	}
	
	function checkNum(formname, textboxid, displaytext) 
	{
		  var localerror = '';
		  
		  if(isNaN(eval('document.getElementById("'+textboxid+'").value'))) 
		  {
			  localerror =  '- '+displaytext+' Should Be A Number With No Spaces.\n';
		  }else{
			  localerror = '';
		  }
		  
		  return localerror;
	}
	
	function checkSpaces(formname, textboxid, displaytext) 
	{
		  var valid = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_'; // define valid characters
		  var localerror = '';
		  
		  if(!isValid(Trim(eval('document.getElementById("'+textboxid+'").value')), valid)) 
		  {
			  localerror =  '- '+displaytext+' - Should Not Contain Spaces.\n';
		  }else{
			  localerror = '';
		  }
		  return localerror;
	}
	
	function checkSelect(formname, selectboxid, displaytext) 
	{
		  var localerror = '';
		  
		  if(eval('document.getElementById("'+selectboxid+'").value')==0)
		  {
			  localerror =  '- '+displaytext+' - is Required.\n';
		  }else{
			  localerror = '';
		  }
		  
		  return localerror;
	}
	
	function getRadio(formname, radioboxid, displaytext) 
	{
		  for (var i=0; i < eval('document.getElementById("'+radioboxid+'").length'); i++) 
		  {
			    if (eval('document.getElementById("'+textboxid+'[i]").checked')) 
			    {
				    var rad_val = eval('document.getElementById("'+textboxid+'[i]").value');
				    return rad_val;
			    }
		  }
	}
	
	function checkRadio(formname, radioboxid, displaytext) 
	{
		 
		var localerror = '';
		  
		var rad_val    = '';
		
		for (var i=0; i < eval('document.getElementById("'+radioboxid+'").length'); i++) 
		{ 
			//check every radio button by that name
			
			if (eval('document.getElementById("'+textboxid+'[i]").checked')) 
			{ //if it is checked
				rad_val += '-';
			}else{
				rad_val += '';
			}
			
			if (rad_val=='') 
			{
				localerror =  '- '+displaytext+' - is Required.\n';
			}
		}  
		return localerror;
	}
	
	
	function Trim(s) 
	{
		while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) 
		{
			s = s.substring(1,s.length);
		}
		
		while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) 
		{
			s = s.substring(0,s.length-1);
		}
		return s;
	}
	
	function isValid(string,allowed) 
	{
		//  var valid = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; // define valid characters
		for (var i=0; i< string.length; i++) 
		{
			if (allowed.indexOf(string.charAt(i)) == -1) return false;
		}
		return true;
	}
	
	


