document.MM_errores="";
document.idioma="ESP";
document.MM_returnValue=false;

/* Función para inicializar los mensajes de errores de la validación de formularios */
function smrValidateFormInit() {	
	switch (document.idioma) {
		case "ESP": 
			document.VF_ISEMAIL=" debe ser una cuenta de email.\n";
			document.VF_R=" es obligatorio.\n";
			document.VF_ISPASSWORD=" no coinciden.\n";
			document.VF_ISNUM=" debe contener un valor numérico.\n";
			document.VF_INRANGE=" debe contener un valor numérico entre \n";
			document.VF_INRANGE2=" y ";
			document.VF_ERRORS="Han ocurrido errores:\n";			
			break;
		case "ENG": 
			document.VF_ISEMAIL="  must contain an e-mail address.\n";
			document.VF_R=" es obligatorio.\n";
			document.VF_ISPASSWORD=" different.\n";
			document.VF_ISNUM=" must contain a number.\n";
			document.VF_INRANGE=" must contain a number between \n";
			document.VF_INRANGE2=" and ";
			document.VF_ERRORS="The following error(s) occurred:\n";			
			break;
		case "CAT": 
			document.VF_ISEMAIL=" Ha de ser un compte de e-mail.\n";
			document.VF_R="  És obligatori.\n";
			document.VF_ISPASSWORD=" no coincideixen.\n";
			document.VF_ISNUM=" Ha de contenir un valor numèric.\n";
			document.VF_INRANGE=" Ha de contenir un valor numèric entre \n";
			document.VF_INRANGE2=" i ";
			document.VF_ERRORS="Han ocorregut errors:\n";			
			break;	
		case "FRA": 
			document.VF_ISEMAIL="  doit être une adresse de email.\n";
			document.VF_R=" est obligatoire.\n";
			document.VF_ISPASSWORD=" différent.\n";
			document.VF_ISNUM=" doit comporter un valeur numérique.\n";
			document.VF_INRANGE=" doit comporter un valeur numérique entre  \n";
			document.VF_INRANGE2=" et ";
			document.VF_ERRORS="Iy y a des erreurs:\n";			
			break;				
	} 
}

function smrValidateForm3() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=smrValidateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

/* Función para realizar la validación de formularios - en beta*/
function smrValidateForm() { //v4.0
	smrValidateFormInit();
	var i,p,q,nm,test,num,min,max,errors='',args=smrValidateForm.arguments;
	var bErrorFecha, sDiaDesde, sMesDesde, sAnoDesde, sDiaHasta, sMesHasta, sAnoHasta;
	for (i=0; i<(args.length-2); i+=3) { 
		test=args[i+2]; val=MM_findObj(args[i]); val2=MM_findObj(args[i]);    
		// alert(val.name)
		if (val) { 
			nm=val.name; 
			if ((val=val.value)!="") {	

				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='- '+nm+document.VF_ISEMAIL;
				} else if (test.indexOf('isSelect')!=-1) { 
						if ( val== "-1" ) 	errors += '- '+nm+document.VF_R; 
						
				} else 	if (test.indexOf('isCheckBox')!=-1) { 
					if ( val2.checked !=true ) errors += '- '+nm+document.VF_R; 

				} else 	if (test.indexOf('isPassword')!=-1) { 
					p=test.indexOf(':');
					verifica=MM_findObj(test.substring(p+1));				
					if ( val != verifica.value ) errors += '- '+nm+document.VF_ISPASSWORD; 
				} else 	if (test.indexOf('isFechas')!=-1) { 
					p=test.indexOf(':');
					verifica=MM_findObj(test.substring(p+1));
					bErrorFecha=false; 
					sDiaDesde = val.substr(0, 2); 
				    sMesDesde = val.substr(3, 2); 
					sAnoDesde = val.substr(6, 4); 
					sDiaHasta = verifica.value.substr(0, 2); 
					sMesHasta = verifica.value.substr(3, 2); 
					sAnoHasta = verifica.value.substr(6, 4); 
					if (sAnoDesde > sAnoHasta) bErrorFecha = true; 
					else { 
					 if (sAnoDesde == sAnoHasta){ 
					  if (sMesDesde > sMesHasta) bErrorFecha = true; 
					  else { 
					   if (sMesDesde == sMesHasta) 
						if (sDiaDesde >= sDiaHasta) bErrorFecha = true; 
					  } 
					 } 
					} 
					if ( bErrorFecha ) errors += '- '+nm+" fecha inferior a fecha final"; 
					
				} else if (test!='R' ) { 
							num = parseFloat(val);
							if (isNaN(val)) errors+='- '+nm+document.VF_ISNUM;
							if (test.indexOf('inRange') != -1) { 
								p=test.indexOf(':');
								min=test.substring(8,p); max=test.substring(p+1);
								if (num<min || max<num) errors+='- '+nm+document.VF_INRANGE+min+document.VF_INRANGE2+max+'.\n';		 							} 
				} 
			} else if (test.charAt(0) == 'R') errors += '- '+nm+document.VF_R; 
		}	  
	} if (errors) alert(document.VF_ERRORS+errors);
	document.MM_returnValue = (errors == '');
}

function smrLOPD() {
	errores=document.MM_errores;
	// Control acepta -------------------------------------------
	acepta=MM_findObj('acepta');
	if ( acepta.checked !=true  ) {
			errores+='- debe aceptar los términos y condiciones del MAUG.\n';
	}
	
	// Resultado --------------------------------------------------
	if (errores != '' ) { 
		alert('Se detectaron los siguientes errores:\n'+errores);
		document.MM_returnValue = false;
	} else {
		document.MM_returnValue = true;
	}
}

function smrValidateFormESP() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=smrValidateFormESP.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe ser una cuenta de email.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' debe contener un valor numérico.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' debe contener un valor numérico entre '+min+' y '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es obligatorio.\n'; }
  } // if (errors)  alert('Han ocurrido errores:\n'+errors);
  //document.MM_returnValue = (errors == '');
  document.MM_errores=errors;
}


// JavaScript Document
function smrValidateOthers() {
	errores=document.MM_errores;
	// Identifico los campos a tratar -----------------------------
	foto=MM_findObj('foto');	
	usuario=MM_findObj('usuario');
	clave=MM_findObj('clave');
	clave2=MM_findObj('clave2');
	website=MM_findObj('website');	
	paisID=MM_findObj('paisID');
	provinciaID=MM_findObj('provinciaID');	
	// Control foto -------------------------------------------
	if ( foto.value != "" ) {
		// controlar extensiones
		largo=foto.value.length;

		extension=foto.value.substr(largo-3, 3);
		if ( extension !="jpg" && extension!="JPG" ) {
			errores+='- sólo se permiten .jpg ó .gif.\n';
		}
	}
	// Control acepta -------------------------------------------
	acepta=MM_findObj('acepta');
	if ( acepta.checked !=true  ) {
			errores+='- debe aceptar los términos y condiciones para ser miembro del MAUG.\n';
	}
	
	// Control foto -------------------------------------------
	if ( website.value!="") {	
		auxerror="- Website debe: \n";
		auxerror1="";
		auxerror2="";		
		if (  website.value.length < 15  ) {
			auxerror1='     -- contener una dirección válida.\n';
		}
		inicia=website.value.substr(0, 7);		
		if ( inicia !="http://" && inicia!="HTTP://") {
			auxerror2='     -- comenzar por http://.\n';
		}

		if ( auxerror1 != "" || auxerror2!="" ) {
			errores+=auxerror+auxerror1+auxerror2;
		}
	}	
	// Control usuario -------------------------------------------
	if ( usuario.value.length < 3 ) {
			errores+='- Su nombre de usuario debe tener 3 digitos como mínimo.\n';
	}		
	// Control clave -------------------------------------------
	if ( clave.value != clave2.value ) {
			errores+='- Las claves no coinciden.\n';
	}	
	// Control Provincias ---------------------------------------------
	/*if ( provinciaID.value == "0") {
		 errores+='- Debe seleccionar una provincia.\n';
	}*/
	// Control Pais ---------------------------------------------
	if ( paisID.value == "0") {
		 errores+='- Debe seleccionar país.\n';
	}
	// Resultado --------------------------------------------------
	if (errores != '' ) { 
		alert('Se detectaron los siguientes errores:\n'+errores);
		document.MM_returnValue = false;
	} else {
		document.MM_returnValue = true;
	}
}

var form = "";
var submitted = false;
var error = false;
var error_message = "";

function check_input(field_name, field_size, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == '' || field_value.length < field_size) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_email(field_name, field_size, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;
	// if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
     //    if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
		
	p=field_value.indexOf('@');
    if (field_value == '' || field_value.length < field_size || p<1 || p==(val.length-1)) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_radio(field_name, message) {
  var isChecked = false;

  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var radio = form.elements[field_name];

    for (var i=0; i<radio.length; i++) {
      if (radio[i].checked == true) {
        isChecked = true;
        break;
      }
    }

    if (isChecked == false) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_select(field_name, field_default, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == field_default) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_password(field_name_1, field_name_2, field_size, message_1, message_2) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password = form.elements[field_name_1].value;
    var confirmation = form.elements[field_name_2].value;
alert( password + " - " + confirmation);
    if (password == '' || password.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password != confirmation) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    }
  }
}

function check_password_new(field_name_1, field_name_2, field_name_3, field_size, message_1, message_2, message_3) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password_current = form.elements[field_name_1].value;
    var password_new = form.elements[field_name_2].value;
    var password_confirmation = form.elements[field_name_3].value;

    if (password_current == '' || password_current.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password_new == '' || password_new.length < field_size) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    } else if (password_new != password_confirmation) {
      error_message = error_message + "* " + message_3 + "\n";
      error = true;
    }
  }
}