var blockAddressCheck = false;

function validate() {
error = false;
errorArray = new Array();
a = 0;
var form = document.getElementById("formSubscriptionForm");
if (form.firstname.value == '') throwError('firstname is missing');
if (form.lastname.value == '')  throwError('lastname is missing');
if (form.password1.value == '') throwError('password is missing');
if (form.password2.value == '') throwError('retype password is missing');
if (form.password1.value != form.password2.value) throwError('password and retype password do not match');
if (form.phone1.value != '' || form.phone2.value != '' || form.phone3.value != '') {
  if (form.phone1.value == '' || form.phone2.value == '' || form.phone3.value == '') throwError('complete phone number');
	if (form.serviceId.selectedIndex == 0) throwError('choose a phone service');
}
if (form.phone1.value != '' && form.phone1.value.length != 3) throwError('phone number area code should be 3 numbers');
if (form.phone2.value != '' && form.phone2.value.length != 3) throwError('phone number prefix should be 3 numbers');
if (form.phone3.value != '' && form.phone3.value.length != 4) throwError('phone number suffix should be 4 numbers');
if (!blockAddressCheck) {
  if (form.email.value == '' && form.phone1.value == '' && form.phone2.value == '' && form.phone3.value == '') throwError('enter either phone number or email');
}
if (form.email.value != '' && form.email.value.indexOf("@") == -1) throwError('invalid email address');
if (error) {
  var msg = "Please make the following changes:\n";
	for (b = 0; b < errorArray.length; b++) {
	  msg += errorArray[b]+"\n";
	}
  alert(msg);
}
else {
  form.submit();
}
}

function throwError(what) {
error = true;
errorArray[a] = what;
a++;
}

function doLogout() {
  document.getElementById("formSubscriptionForm").action.value = "doLogout";
	document.getElementById("formSubscriptionForm").submit();
}

function doLogin() {
  document.getElementById("formSubscriptionForm").action.value = "doLogin";
	document.getElementById("formSubscriptionForm").submit();
}

function showActivation() {
showLogin();
document.getElementById("textActCode").style.visibility = "visible";
document.getElementById("inputCode").style.visibility = "visible";
}

function showLogin() {
document.getElementById("row2").style.visibility = "hidden";
document.getElementById("row3").style.visibility = "hidden";
document.getElementById("row4col3").style.visibility = "hidden";
document.getElementById("row4col4").style.visibility = "hidden";
document.getElementById("row5").style.visibility = "hidden";
document.getElementById("row6").style.visibility = "hidden";
document.getElementById("row7").style.visibility = "hidden";
document.getElementById("row8").style.visibility = "hidden";
document.getElementById("row9").style.visibility = "hidden";
document.getElementById("row10").style.visibility = "hidden";
document.getElementById("row11").style.visibility = "hidden";
document.getElementById("loginButton").style.visibility = "visible";
document.getElementById("backButton").style.visibility = "visible";
}

function hideLogin() {
document.getElementById("row2").style.visibility = "visible";
document.getElementById("row3").style.visibility = "visible";
document.getElementById("row4col3").style.visibility = "visible";
document.getElementById("row4col4").style.visibility = "visible";
document.getElementById("row5").style.visibility = "visible";
document.getElementById("row6").style.visibility = "visible";
document.getElementById("row7").style.visibility = "visible";
document.getElementById("row8").style.visibility = "visible";
document.getElementById("row9").style.visibility = "visible";
document.getElementById("row10").style.visibility = "visible";
document.getElementById("row11").style.visibility = "visible";
document.getElementById("formSubscriptionForm").action.value = "doSubscribe";
document.getElementById("loginButton").style.visibility = "hidden";
document.getElementById("backButton").style.visibility = "hidden";
document.getElementById("textActCode").style.visibility = "hidden";
document.getElementById("inputCode").style.visibility = "hidden";
}

function clearFields() {
var form = document.getElementById("formSubscriptionForm");
if (confirm("Are you sure you wish to reset all the fields on this page?")) {
form.firstname.value = form.lastname.value = form.city.value = form.country.value = form.password1.value = 
form.password2.value = form.phone1.value = form.phone2.value = form.phone3.value = form.email.value = '';
form.statesId.selectedIndex = 0;
form.isAudio.checked = false;
form.isVideo.checked = false;
}
}