/*
 * file: funcs.js
 * description: javascript functions
 * author: Ismael Salvador issalig * yahoo.es
 * date: 05/11/07
 */
 
// ISO 639  language codes
// http://en.wikipedia.org/wiki/Languages_of_the_European_Union

//<script type="text/javascript" src="md5new.js"></script>

function check_email(email)
{ 
 
  var filter =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  
  if (!filter.test(email)) {
        alert('Direccion email incorrecta.\nIncorrect email address.');
        return false;
  } 
  return true;
}

function check_hobbies(form){ 
  //http://devzone.zend.com/node/view/id/1300
  // elements is defined as []
  var cont=0;
  var str="";
  var i;
  var elms=form.elements;

    for(i=0;i<elms.length;i++)
      if(elms[i].name=='hobby[]'){
      myElement=elms[i];
     //code for myElement
         if(myElement.checked){
          cont++; 
          str = str + myElement.value+" ";
             }
    }
  
  if (cont != 5) {
   alert('Elige 5 aficiones.\nChoose 5 hobbies');
 
   return false;
  }

  return true;
}


function check_languages(form){ 
  if ((form.request1.value == "99") && (form.request2.value == "99") &&
      (form.request3.value == "99") && (form.request4.value == "99") && 
      (form.request5.value == "99")){
        alert("Elige al menos un idioma para aprender.\nChoose at least 1 language to learn.");
        return false;
  } 
  
  if ((form.offer1.value == "99") && (form.offer2.value == "99") &&
      (form.offer3.value == "99") && (form.offer4.value == "99") && 
      (form.offer5.value == "99")){
        alert("Elige al menos un idioma para ense�ar.\nChoose at least 1 language to teach.");
        return false;
  } 

  return true;
}

function check_login_form(form){

	if (!check_email(form.user.value)){	 
		form.user.focus();
		return false;
	}
	
	if (form.password.value == ""){
		alert("Debes introducir una contraseña.");
		form.password.focus();
		return false;
	}

	/* if all is OK get MD5 */

	form.password.value = hex_md5(form.password.value);
	
	return true;
}

function check_user_form(form){

  if (form.name.value==""){
        alert("Introduce tu nombre. Write your name");
        form.name.focus();
        return false;
  }
  
  if (form.surname.value==""){
        alert("Introduce tus apellidos. Write your surname");
        form.surname.focus();
        return false;
  }
  /*    
  if (form.phone.value==""){
        alert("Introduce el n&uacute;mero de tel&eacute;fono. Write your telephone number");
        form.phone.focus();
        return false;
  }
  */
  if (!form.age.value.match(/^\d+$/)){
       alert("La edad debe ser un n&uacute;mero. Age must be a number");
       form.age.focus();
       return false;
  }
 
  /*
  if (!check_hobbies(form)) {      
       return false;
  }
  if (!check_languages(form)) {
        form.request1.focus();
        return false;
  }
 */
  if (!form.gender[0].checked && !form.gender[1].checked) {
       alert("Indica el sexo.\nSelect gender.");
       form.gender[0].focus();
       return false;
  }
  if (!form.erasmus[0].checked && !form.erasmus[1].checked) {
       alert("Indica si eres erasmus.\n.Select erasmus status");
       form.erasmus[0].focus();
       return false;}
        
 return true;
}

function check_signup_form(form){
	if (!form.disclaimer.checked){
		alert("Debes aceptar las condiciones. You must accept the conditions.")
		form.disclaimer.focus();
		return false;
	}
	if (!check_email(form.email.value)){
		form.email.focus();
		return false;
	}
	
	if (!check_user_form(form)){
		return false;
	}
	
	if (!check_change_password_form(form)){	
		form.password2.focus();
		return false;
	}	
	
	/* reset password and password2 */
	form.password2.value = form.password.value;
	
	return true;
}

function check_languages_form(form){

	if (!check_languages(form)) {
		form.request1.focus();
		return false;
	}
	return true;
}

function check_hobbies_form(form){

	if (!check_hobbies(form)) 
		return false;
	return true;
}

function check_change_password_form(form){

	if ((form.password.value=="") || (form.password2.value=="")){
		alert("Introduce la contraseña. Write your password");
		form.password.focus();
		return false;
	}
	
	if (form.password.value != form.password2.value){
		alert("Las contraseñas deben ser iguales");
		form.password.focus();
		return false;
	}
	
	if (form.password.value.length < 4){
		alert("Debe tener al menos 4 caracteres");		
		form.password.value = "";
		form.password2.value = "";
		form.password.focus();
		return false;
	}
	
	/* if all is OK get MD5 */
	form.password.value = hex_md5(form.password.value);
	//alert(form.password.value);
	return true;
}

function check_lost_password_form(form){

	if (!check_email(form.user.value)){
		alert("No es un email valido"); 
		form.user.focus();
		return false;
	}
	return true;	
}
