function trim(str) {
  return str.replace(/^\s+|\s+$/g, '');
}

function checkEmail(email)
{	
	
  var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
  
  if(pattern.test(email)) {         
	return true;
  } else {   
	return false; 
  }

}

function checkPassword (password) {
	var alpha = /^([A-z])+/;
	var numeric = /[0-9]/;
	
//	alert(password, password.length);
//	alert(alpha.exec(password));
//	alert(numeric.exec(password));
//	alert(password.length);

	if(alpha.test(password)) {
		if(numeric.test(password)) {
			if(password.length>7) {

				return true;
			}
			else {
		alert("Password not valid: You need to start with an alpha, include one or more numbers, and be longer than 7 characters");
		return false;
			}
		}
		else {
		alert("Password not valid: You need to start with an alpha, include one or more numbers, and be longer than 7 characters");
		return false;
		}
	} 
	else {
		alert("Password not valid: You need to start with an alpha, include one or more numbers, and be longer than 7 characters");
		return false;
		}
}


function toggleFormVisibility()
{

  var frm_element = document.getElementById('paperblock'); 
  var sub_link_element = document.getElementById('sub');
  var nosub_link_element = document.getElementById('nosub');

  var vis = frm_element.style;
  
  if(vis.display=='' || vis.display=='none') {
	  vis.display = 'block';
	  sub_link_element.style.display='none';
	  nosub_link_element.style.display='';
  } else {
	  vis.display = 'none';
	  sub_link_element.style.display='block';
	  nosub_link_element.style.display='none';
  }

}

function toggleTextVisibility(divid, subnm, nosubnm)
 
{
	var divid;
	var subnm;
	var nosubnm;

  var frm_element = document.getElementById(divid); 
  
  
  var sub_link_element = document.getElementById(subnm);
  var nosub_link_element = document.getElementById(nosubnm);
 
  var vis = frm_element.style;
  
  if(vis.display=='' || vis.display=='none') {
	  vis.display = 'block';
	  sub_link_element.style.display='none';
	  nosub_link_element.style.display='';
  } else {
	  vis.display = 'none';
	  sub_link_element.style.display='block';
	  nosub_link_element.style.display='none';
  }

}

function processFormData() 
{
	

  var f_name_element = document.getElementById('first_name');
  var l_name_element = document.getElementById('last_name');
  var street_element = document.getElementById('street');
  var city_element = document.getElementById('city');
  var state_element = document.getElementById('state');
  var zip_element = document.getElementById('zip');
  var password_element = document.getElementById('password');
  var email_element = document.getElementById('email');
  var comment_element = document.getElementById('comment');
  var list_element = document.getElementById('list');
  var radio0_element = document.getElementById('RadioAccess_0');
  var radio1_element = document.getElementById('RadioAccess_1');
  var radio2_element = document.getElementById('RadioAccess_2');
  var radio3_element = document.getElementById('RadioAccess_3');
  var storyURL_element = document.getElementById('StoryURL');
  var accept_element = document.getElementById('accept');
  
  var f_name = trim(f_name_element.value);
  var l_name = trim(l_name_element.value);
  var street = trim(street_element.value);
  var city = trim(city_element.value);
  var state = state_element.value;
  var zip = trim(zip_element.value);
  var password = trim(password_element.value);
  var email = trim(email_element.value);
  var comment = trim(comment_element.value);
  var list = trim(list_element.value);
  var radio0 = radio0_element.checked;
  var radio1 = radio1_element.checked;
  var radio2 = radio2_element.checked;
  var radio3 = radio3_element.checked;
  var storyURL = storyURL_element.value;
  var accept = accept_element.checked;
  
  var error_message = 'ALERT! ALERT!!\nThe following fields had serious errors in them: \n\n';
  var data = 'CONGRATULATIONS!\nYou have successfully entered the following information: \n\n';

  var error_flag = false;
 
 
  
  if(f_name == '') {
	  error_message += 'Name: Please enter your first name\n';
	  error_flag = true;
  } else {
	  data += 'Name: ' + f_name + '\n';
  }
  
  if(l_name == '') {
	  error_message += 'Name: Please enter your last name\n';
	  error_flag = true;
  } else {
	  data += 'Name: ' + l_name + '\n';
  }
 
	
  if(street == '') {
	  error_message += 'Street: Please enter your street\n';
	  error_flag = true;
  } else {
	  data += 'Street: ' + street + '\n';
  } 
  if(city == '') {
	  error_message += 'City: Please enter your city\n';
	  error_flag = true;
  } else {
	  data += 'City: ' + city + '\n';
  }
  if(state == 'XX') {
	  error_message += 'State: Please enter your state\n';
	  error_flag = true;
  } else {
	  data += 'State: ' + state + '\n';
  }
   
  if(zip == '') {
	  error_message += 'Zip: Please enter your zip code\n';
	  error_flag = true;
  } else {
	  data += 'Zip: ' + zip + '\n';
  } 
  
  
  if(checkPassword(password)) {
	data += 'Password: ******** ' + '\n';
	  
  } else {
	  	  
	  error_message += 'Password: Please enter your password\n';
	  error_flag = true; 
  }
  
   if(!checkEmail(email)) {
	  error_message += 'Email: Please enter a valid email address\n';
	  error_flag = true;
  } else {
	  data += 'Email: ' + email + '\n';
  }
  
    if(radio0 == "" && radio1 == "" && radio2 == "" && radio3 == "") {
 	  error_message += 'Access method: Please select how we can access your story\n';
	  error_flag = true;
	} else {
		if(radio0) radio = "By email";
		if(radio1) radio = "By snail mail";
		if(radio2) radio = "By fax";
		if(radio3) radio = "By URL at " + storyURL;
       data += 'Story access: ' + radio + '\n';
  }		
 
    data += 'Type of story: ' + list + '\n';
   
    if(comment == '') {
	  data += 'No comment' + '\n';
  } else {
	  data += 'Comment: ' + comment + '\n';
  } 
  

   if(!accept) {
	  error_message += 'Acceptance: Please accept the conditions\n';
	  error_flag = true;
  } else {
	  data += 'Acceptance: Accepted' + '\n';
  }
  
  if(error_flag) {
	  alert(error_message);
  } else {
	  alert(data);
  }

}
