/* This is executed onload.  Users without javascript will get no client-
side help, but will be able to submit*/
function disable_form() {
  //Can't do this yet - need to fix onchange/ tab issue
  //window.document.forms.the_form.submit.disabled=true;
	window.document.forms.the_form.submit.style.color="#666666";
	window.document.getElementById('form_req').style.color="#FF3333";
}

function deactivate(target) {
	eval("window.document.forms.the_form."+target+".value = '----';");
	//eval("window.document.forms.the_form."+target+".disabled=true;");
	// TODO: don't actually disable, but grey out field with CSS
  eval("window.document.getElementById('"+target+"').style.color='#99CC99';");
}


/**
	Find hidden input called "required" and get list of required fields  

  Next loop through all the inputs and if it's on the list, add event handler.
*/
function setup_events() {
	var required = window.document.forms.the_form.required.value;
	//alert(required);
  var required_fields = new Array();
  required_fields = required.split(',');
	var cur_field;
  for (i=0; i<required_fields.length; i++) {
  	cur_field = window.document.getElementById(required_fields[i]);
		//make sure an event handler is added to field.
		cur_field.onchange = function() {check_required();};
  }
}



/**
	Find hidden input called "required" and get list of required fields  

  Next loop through all the inputs and if it's on the list, make sure it's 
  filled out
*/
function check_required() {
	var required = window.document.forms.the_form.required.value;
  var required_fields = new Array();
  required_fields = required.split(',');
	var all_clear = true;
  var blank = false;
  var cur_field;
  
	for (i=0; i<required_fields.length; i++) {
  	cur_field = window.document.getElementById(required_fields[i]);
    blank = false;
    
		// test if the required field has an error, according to its type
    switch(cur_field.type.toLowerCase())
    {
      case 'text':
        if(cur_field.value==''){blank=true;}              
      break;
      case 'textarea':
        if(cur_field.value==''){blank=true;}              
      break;
      case 'checkbox':
        if(!cur_field.checked){blank=true;}              
      break;
      case 'select-one':
        if((cur_field.selectedIndex < 0) 
        		|| (cur_field.options[cur_field.selectedIndex].text=='')
        		|| (cur_field.options[cur_field.selectedIndex].text=='-------'))
          {blank=true;}              
      break;
    }
		if (!blank) {
    	if (window.document.getElementById(required_fields[i]+'_req')) {
				window.document.getElementById(required_fields[i]+'_req').style.color="#99CC99";
        }
		} else {
    	if (window.document.getElementById(required_fields[i]+'_req')) {
				window.document.getElementById(required_fields[i]+'_req').style.color="#FF3333";
        }
			all_clear = false;
    }    	
	}
    
	if (all_clear) {
		window.document.forms.the_form.submit.disabled=false;
 		window.document.forms.the_form.submit.style.color="#000000";
		window.document.getElementById('form_req').style.color="#99CC99";
	} else {
		disable_form();
	}
  
}




/*
function required() {
			var user_name = false;
			var user_email = false;
			var user_bday = false;
			var user_answer = false;
			var user_zip = false;
			var user_gender = false;
			if (window.document.forms.the_form.user_name.value != "") {
            window.document.getElementById('user_name_req').style.color="#99CC99";
				//window.document.getElementById('user_email_req').style.color="#99CC99";
				user_name = true;
				//user_email = true;
			}
			if (window.document.forms.the_form.user_email.value != "") {
            //window.document.getElementById('user_name_req').style.color="#99CC99";
				window.document.getElementById('user_email_req').style.color="#99CC99";
				//user_name = true;
				user_email = true;
			}
			if (window.document.forms.the_form.user_bday_month.value != ""
        		&& window.document.forms.the_form.user_bday_day.value != ""
                && window.document.forms.the_form.user_bday_year.value != "") {
				window.document.getElementById('user_bday_req').style.color="#99CC99";
				user_bday = true;
			}
			if (window.document.forms.the_form.user_answer.value != ""
        		&& window.document.forms.the_form.user_question_id.value != "" ) {
				window.document.getElementById('user_answer_req').style.color="#99CC99";
				user_answer = true;
			}
        if (window.document.forms.the_form.user_zip) {
				if (window.document.forms.the_form.user_zip.value != "") {
					window.document.getElementById('user_zip_req').style.color="#99CC99";
					user_zip = true;
				}
        } else {
				user_zip = true;
			}        
        if (window.document.forms.the_form.user_gender) {
				if (window.document.forms.the_form.user_gender.value != "") {
					window.document.getElementById('user_gender_req').style.color="#99CC99";
					user_gender = true;
				}
        } else {
				user_gender = true;
        }
			if (user_name && user_email && user_bday && user_answer && user_zip && user_gender) {
				window.document.forms.the_form.submit.disabled=false;
    		window.document.forms.the_form.submit.style.color="#000000";
				window.document.getElementById('form_req').style.color="#99CC99";
			} else {
				disable_form();
			}
		}
		function year() {
			if (1900 < window.document.forms.the_form.user_bday_year.value && window.document.forms.the_form.user_bday_year.value <= 2100) {
				window.document.getElementById('year2_format').style.color="#99CC99";
			} else {
				window.document.getElementById('year2_format').style.color="#FF3333";
			}
		}
*/
