function process_phone_number (user_number, item_number) {
item_number.value = user_number.value;
item_number.length = user_number.length;
}

function process_user_value(user_value, amount) {
amount[amount.selectedIndex].value = user_value.value;



}	

function check_choice() {
  if(!last_choice(document.contribution_form.amount)) {
    document.contribution_form.choicetext.blur();
    alert('Please check your menu selection first');
    document.contribution_form.amount.focus(); }}
	
	
function activate(field) {
  field.disabled=false;
  if(document.styleSheets)
  {field.style.visibility  = 'visible';}
  field.focus(); }
  
function last_choice(selection) {
  return selection.selectedIndex==selection.length - 1; }
  
 function no_choice(selection) {
  return selection.selectedIndex==0; }
  
function process_choice(selection,textfield) {
  if(last_choice(selection)) {
    activate(textfield); }
  else {
    textfield.disabled = true;    
    if(document.styleSheets)textfield.style.visibility  = 'hidden';
    textfield.value = ''; }}


// validate form
function validateForm(){
//check for WC3
if(document.getElementById&&document.
getElementsByTagName&&document.createElement){
             var formObj=document.getElementsByTagName('form')[0];
             valid=true;
            var fname=formObj.elements[10];
            if(!fname){return false};
            if(!fname.value){showError(fname,' *Please enter your first name')};
			var lname=formObj.elements[11];
            if(!lname){return};
            if(!lname.value){showError(lname,' *Please enter your last name')};
			
 			var pNum=formObj.elements[12];
            if(!pNum){return};
            if(!pNum.value){showError(pNum,' *Please enter your phone number')}
			else
			{process_phone_number (pNum, formObj.elements[1])};

            var job=formObj.elements[13];
            if(!job){return};
            if(!job.value){showError(job,' *Occupation (or N/A) is required by law')};
            var employer=formObj.elements[14];
            if(!employer){return};
            if(!employer.value){showError(employer,' *Your employer name (or none) is required by law')};
            var empCity=formObj.elements[15];
            if(!empCity){return};
            if(!empCity.value){showError(empCity,' *Your employer city (or none) is required by law')};
            var empState=formObj.elements[16];
            if(!empState){return};
            if(!empState.value){showError(empState,' *Your employer State is required by law. Please enter state of residence if you are not employed.')};
			var comboBox=formObj.elements[17];
			if (!comboBox) {return};
			if (no_choice(document.contribution_form.amount)){showError (comboBox,' *Please select an amount.')};
			if(last_choice(document.contribution_form.amount)) {
				var userAmount=formObj.elements[18];
    			if(!userAmount){return};
    			if(!userAmount.value){showError (userAmount,' *Please enter an amount.')}};
	        var compliance=formObj.elements[19];
            if(!compliance){return};
            if(!compliance.checked){showError(compliance,' *Please check the Washington State Compliance box.')};


            return valid;
			}
						else
				{
				var str, errors='';
				if (document.contribution_form.first_name.value.length < 1){
				errors+='Please enter your first name.\n';
				}
				if (document.contribution_form.last_name.value.length < 1){
				errors+='Please enter your last name.\n';
				}
				if (document.contribution_form.on0.value.length < 1){
				errors+='Please enter your occupation or N/A if not employed.\n';
				}
				if (document.contribution_form.os0.value.length < 1){
				errors+='Please enter your employer (or N/A)\n';
				}
				if (document.contribution_form.on1.value.length < 1){
				errors+='Please enter your city of employment(or N/A)\n';
				}
				if (document.contribution_form.os1.value.length < 1){
				errors+='Please enter your employer state (or N/A)\n';
				}
				if (document.contribution_form.amount.value=='0' || document.contribution_form.amount.value=="other"){
				errors+='Please enter an amount\n';
				}
				if (!document.contribution_form.q1.checked){
				errors+='Please check the Washington state compliance box';
				}
				if (errors) {
				alert('The following error(s) occurred:\n'+errors);
				return false;
				} 
				else return (true);
			}
}
// display error messages
function showError(obj,message){
            if(!obj.errorNode){
                        obj.onblur=hideError;
                        var span=document.createElement('span');
						span.className = 'error';
                        span.appendChild(document.createTextNode(message));
                        obj.parentNode.insertBefore(span, obj.nextSibling);
                        obj.errorNode=span;
						if (valid == true){
						obj.focus()
			            var subButton=document.getElementById('subButton');
                        var span=document.createElement('span');
						span.className = 'error';
						span.appendChild(document.createTextNode("Please fill in all required fields."));
						subButton.parentNode.appendChild(span);
						subButton.errorNode=span;
						}
            };
            valid=false;
            return
}
//this is just here so we can see how to deal with no WC3 support
function writeError(obj,message) {
	validForm = false;
	if (obj.hasError) return;
	if (W3CDOM) {
		obj.className += ' error';
		obj.onblur = removeError;
		var sp = document.createElement('span');
		sp.className = 'error';
		sp.appendChild(document.createTextNode(message));
		obj.parentNode.appendChild(sp);
		obj.hasError = sp;
	}
	else {
		errorstring += obj.name + ': ' + message + '\n';
		obj.hasError = true;
	}
	if (!firstError)
		firstError = obj;
}
// hide error messages
function hideError(){
            this.parentNode.removeChild(this.errorNode);
            this.errorNode=null;
            this.onblur=null;
            var subButton=document.getElementById('subButton');
			if (subButton.errorNode){
	     	subButton.parentNode.removeChild(subButton.errorNode);
			subButton.errorNode=null;
			subButton.onblur=null;
			}
}
