var requiredFieldIds = new Array("fullname", "email", "phone", "address", "city", "postalcode",
					"skill", "firstweek", "consent", "verifytext");
var requiredPairNames = new Array("gender", "payment");

function checkFormat(elemId) {
  var valid = true;

  if (elemId == "email") {
    var email = document.getElementById(elemId);
    var errorElem = document.getElementById("error_format_"+elemId);

    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email.value)) {
      errorElem.style.display='block';
      valid = false;
    } else {
       errorElem.style.display='none';

    }
  }
  return valid;
}

function validate(form) {
  
  if (form.name == "register") {
   var valid = true;
   
  
   for (var i=0; i<requiredFieldIds.length; i++) {
     var elem = document.getElementById(requiredFieldIds[i]);
     var errorElem = document.getElementById("error_"+requiredFieldIds[i]);
     
     
     if (elem.value == '') {
       errorElem.style.visibility='visible';
       valid = false;
     } else {
       errorElem.style.visibility='hidden';
       
       if (requiredFieldIds[i] == 'email') {
	 valid = checkFormat(requiredFieldIds[i]);
       }

     }
   }
   for (var i=0; i<requiredPairNames.length; i++) {
     var pairs = document.getElementsByName(requiredPairNames[i]);
     var errorElem = document.getElementById("error_"+requiredPairNames[i]);
     if (pairs[0].checked || pairs[1].checked) {
	 errorElem.style.visibility='hidden';
       } else {
	 errorElem.style.visibility='visible';
	 valid = false;

       }
     
   }
   
   
   // checkbox: consent form
   var elem = document.getElementById("consent");
   var errorElem = document.getElementById("error_consent");
   if (elem.checked) {
      errorElem.style.visibility='hidden';
   } else {
     errorElem.style.visibility='visible';
     valid = false;
   }
   
   if (valid) {
     // set redirect path based on payment selection
     valid = setRedirect();
   }
   return valid;
   
  } else if (form.name == "paypal") {
    var elem = document.getElementById("player");
    var errorElem = document.getElementById("error_player");
    if (elem.value != '') {
       errorElem.style.visibility='hidden';
    } else {
       errorElem.style.visibility='visible';
       valid = false;
    }
  }
  return false;
  
}

function clearErrors(form) {
  var spans = document.getElementsByTagName("span");
  for (var i=0;i<spans.length;i++) {
    if (spans[i].className == "required") {
      spans[i].style.visibility='hidden';
    }
    else if (spans[i].className == "format_invalid") {
      spans[i].style.display='none';
    }
  }
}

function setRedirect() {
  var isSet = false;
  var redirect = document.getElementById("redirect");
  
  var cash = document.getElementById("payment_cash");
  var paypal = document.getElementById("payment_paypal");
  
  if (redirect != null) {
    if (cash.checked) {
      redirect.value = "reg_thanks.php";
      isSet = true;
    } else if (paypal.checked) {
      redirect.value = "paypal.php";
      isSet = true;
    } 
  }
  return isSet;
}

function popup(name) {
   mywindow = window.open ("popup.php?name="+name,"popup","scrollbars=0,location=0,width=300,height=500");

}

function popup_small(name) {
   mywindow = window.open ("popup-small.php?name="+name,"popup_small","scrollbars=0,location=0,width=300,height=200");
  
}
