


   function getInputsForValidation(){
   		
   		var $inputs = $$('input');
   		
   		var $names = []
   		
   		for( var $i=0;$i<=$inputs.length-1; $i++){
   		
   			$names.push($inputs[$i].readAttribute('name'));
   		}
   		
   		var $inputs = $$('select');
   		

   		
   		for( var $i=0;$i<=$inputs.length-1; $i++){
   		
   			$names.push($inputs[$i].readAttribute('name'));
   		}
   		
   		var $win = window.open('','_blank');
   		
   		for( var $i=0;$i<=$names.length; $i++){
   			$win.document.write($names[$i] + '<br />')
   		}
   		
   
   }
   
   
   function validateAllFilled(){
   		var $test = true;
   		var $errors = $$('.form_error');
   		
   		for( var $i=0;$i<=$errors.length-1; $i++){
   			$errors[$i].replace('');
   		}
   
   		var $inputs = new Array();
   		
   		$inputs = $inputs.concat( $$('input'));
   		
   		$inputs = $inputs.concat($$('select'));
   		
   		$inputs = $inputs.concat($$('textarea'));
   		
   		for( var $i=0;$i<=$inputs.length-1; $i++){
   		var $in = $inputs[$i];
   			if(!$inputs[$i].disabled && ($inputs[$i].type =='text' || $inputs[$i].type =='select-one' || $inputs[$i].type =='textarea')  && !$inputs[$i].hasClassName('not_required') ){
   				if ($inputs[$i].value=='' || $inputs[$i].value==' '){
   				 
   					$inputs[$i].insert({before:'<div class="form_error">Required <br /></div>'});
   					$test = false;
   				}
   			}
   		}
   		
   		var $inputs = $$('select');
   		

   		

   		
   		return $test;
   
   }
   
   function checkForm($form){
	   var valid = true;
   		if (validateAllFilled()){
   			if (validateCheckedBox($form)){
   				if (checkNumbers()){
   					
   					$($form).submit();
   				}else{
   				 valid = false;	
   				}
   			}else{
   				valid = false;
   			}
   		}else{
   			valid = false;
   		}
   		
   		if (!valid){
   			var buttons = $$('input[type=button]');
   			for (var i=0;i<buttons.length;i++){
   				if (buttons[i].value == 'Next>>>'){
   					buttons[i].insert({before:'<div class="form_error">Please correct the errors indicated above.</div><br />'});
   				}
   			}
   			
   			
   		}
   		
   
   }
   
   
   function makeDisabled($elem){
   	var $e = $($elem);
   	 if (!$e.disabled){
   		$e.value = '';
   		$e.disabled = true;
   		$e.addClassName('dependent');
   	}else{
   		$e.disabled=false;
   		$e.removeClassName('dependent');
   	}
   	
   	
   }
   
   function updateWithTestData(){
   		
	   var run = 1;
	   
	   run = prompt('Enter test run #',run);
	   
	   var $test = true;
   		
   
   		var $inputs = new Array();
   		
   		
   		
   		
   		
   		
   		$inputs = $$('select');
   		
   		for( var $i=0;$i<=$inputs.length-1; $i++){
   		var $in = $inputs[$i];
   			if(!$inputs[$i].disabled   && !$inputs[$i].hasClassName('not_required') ){
   				
   				 
   					$inputs[$i].selectedIndex = $inputs[$i].selectedIndex + 1;
   				
   				}
   			}
   		
   		$inputs = $$('input');
   		$inputs = $inputs.concat($$('textarea'));
   		
   		for( var $i=0;$i<=$inputs.length-1; $i++){
   		var $in = $inputs[$i];
   			if( !$inputs[$i].disabled && ($inputs[$i].type =='text' || $inputs[$i].type =='textarea')  && !$inputs[$i].hasClassName('not_required') ){
   					
   				 if ($inputs[$i].hasClassName('number')){
   					$inputs[$i].value = run;
   				 }else
   					$inputs[$i].value = 'Test' + run;
   				}
   				
   			}
   		
   		$$('.observer').each(function(e){
				e.evaluateChange();
			});
   		
   		
   		return $test;
   
   }
   
   function validateCheckedBox(form){
   //alert("checking");
   		var checks = $$('input[type=checkbox]');
   		
   		var groups = [];
   		var curGroup = '######';
   		var goodToGo = false;
   		for (var i=0;i<checks.length;i++){
   			if (!checks[i].hasClassName('nocheck') && !checks[i].disabled){
	   			if (checks[i].readAttribute('check_group') != curGroup ){
	   				curGroup = checks[i].readAttribute('check_group');
	   				groups.push(checks[i].readAttribute('check_group'));
	   			}
   			}
   		}
   		
   		var badGroups = [];
   		
   		var noChecks = true;
   		
   		for (var i=0;i<groups.length;i++){
   			
   			var c =  $$('.' + groups[i]);
   			noChecks = true;
   			for (var x=0;x<c.length;x++){
   				if (c[x].checked){
   					noChecks = false;
   				}
   			}
   			
   			if (noChecks){
   				badGroups.push(groups[i]);
   			}
   		}
   		
   		goodToGo = true;
   	
   		for (var i=0;i<badGroups.length;i++){
   			$(badGroups[i]).innerHTML = '<div class="form_error">Please check at least one.</div>';
   			goodToGo = false;
   		}
   		
   		return goodToGo;
   
   }
   
   function toggleView(id,value){
	if(value=="Yes"){
		//$(id).removeClassName('hide');
		$(id).show();
   }else{
	   $(id).hide();
   }
   }
   
   function confirmResume(form){
	if(confirm('All information entered on this page will be discarded. Data submitted on all previous pages will be retained. Are you sure you want to resume the survey later?')){
		$(form).submit();
	}
	   
   
   }
   
   function checkNumbers(){
	   
	   var numFlds = $$('.number');
	   var valid = true;
	   
	   
	   for(var i=0;i< numFlds.length;i++){
		   if (isNaN(numFlds[i].value)){
			   numFlds[i].insert({before:'<div class="form_error">Input is not a number<br /></div>'});
			   valid = false;
		   } 
		   var val = parseFloat(numFlds[i].value);
		   var min = parseFloat(numFlds[i].readAttribute('number_min'));
		   var max = parseFloat(numFlds[i].readAttribute('number_max'));
		   //alert('checking');
		   if ((min >val)||(val>max)){
			   numFlds[i].insert({before:'<div class="form_error">Please enter a number between ' +  numFlds[i].readAttribute('number_min') + ' and ' +numFlds[i].readAttribute('number_max')+'<br /></div>'});
			   valid = false;
			   
		   }
	   }
	   return valid;
   }
   
   
   function spellCheckPage(){
	   document.body.contentEditable='true'; 
	   document.designMode='on'; 
   }
   
   