function revisarCampos(mensajeError)
{
	var Mensaje = "";
	for(var i=0; i<camposObligatorios.length; i++)
	{
		if (document.getElementById(camposObligatorios[i]))
		{
			valor = document.getElementById(camposObligatorios[i]).value;
			if(!trim(valor))
			{
				if(!Mensaje)
				{
					Mensaje += "<h2>" + mensajeError + "</h2>";	
				}
				colocarMarca(camposObligatorios[i]);
			}
			else if(document.getElementById('error_' + camposObligatorios[i]))
			{
				descolocarMarca(camposObligatorios[i]);
			}
		}
	}
	Mensaje = revisarRestricciones(Mensaje);
	if(Mensaje == "")
	{
		return true;
	}
	mostrarOcultarDivsMensajes();
	document.getElementById("errors").innerHTML = Mensaje;
	return false;	
}

function revisarRestricciones(Mensaje)
{
	for(var i=0; i<restricciones[0].length; i++)
	{
		if(document.getElementById(restricciones[0][i]).value)
		{
			switch(restricciones[1][i])
			{
				case 'email':
							if(!validarEmail(restricciones[0][i]))
							{	
								Mensaje += "<h2>" + restricciones[2][i] + "<h2>";
								colocarMarca(restricciones[0][i]);
							}
							else
							{
								descolocarMarca(restricciones[0][i]);
							}
							break;
				case 'numericoPositivo':
							if(!validarNumericoPositivo(restricciones[0][i]))
							{	
								Mensaje += "<h2>" + restricciones[2][i] + "<h2>";
								colocarMarca(restricciones[0][i]);
							}
							else
							{
								descolocarMarca(restricciones[0][i]);
							}
							break;
				case 'numericoTelefonico':
							limpiarTelf(restricciones[0][i]);
							if(!validarNumericoTelefonico(restricciones[0][i]))
							{	
								Mensaje += "<h2>" + restricciones[2][i] + "<h2>";
								colocarMarca(restricciones[0][i]);
							}
							else
							{
								descolocarMarca(restricciones[0][i]);
							}
							break;
				case 'codigoPostal':
							if(!validarCodigoPostal(restricciones[0][i]))
							{	
								Mensaje += "<h2>" + restricciones[2][i] + "<h2>";
								colocarMarca(restricciones[0][i]);
							}
							else
							{
								descolocarMarca(restricciones[0][i]);
							}
							break;
				case 'cantidadUE':
							if(!validarCantidadUE(restricciones[0][i]))
							{	
								Mensaje += "<h2>" + restricciones[2][i] + "<h2>";
								colocarMarca(restricciones[0][i]);
							}
							else
							{
								descolocarMarca(restricciones[0][i]);
							}
							break;
				case 'cantidad':
							if(!validarCantidad(restricciones[0][i]))
							{	
								Mensaje += "<h2>" + restricciones[2][i] + "<h2>";
								colocarMarca(restricciones[0][i]);
							}
							else
							{
								descolocarMarca(restricciones[0][i]);
							}
							break;
				default:
							break;
				
			}	
		}
	}
	return Mensaje;
}

function colocarMarca(nombre)
{
	if(document.getElementById('error_' + nombre))
	{
		document.getElementById('error_' + nombre).innerHTML = '*';
	}
}

function descolocarMarca(nombre)
{
	if(document.getElementById('error_' + nombre))
	{
		document.getElementById('error_' + nombre).innerHTML = '';
	}
}

function validarEmail(nombre)
{	
	document.getElementById(nombre).value = trim(document.getElementById(nombre).value);
	var reMail=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	if(!reMail.exec(document.getElementById(nombre).value)) return false;
	return true;	
}

function validarNumericoTelefonico(nombre)
{
	var er_tel = /(^([0-9]{8,14})|^)$/;
	if(!er_tel.test(document.getElementById(nombre).value))    
	 	return false;  
	return true;
}

function validarNumericoPositivo(nombre)
{
	var er_num = /^\d+$/;
	if(!er_num.test(document.getElementById(nombre).value)) 
		 	return false;  
	return true;
}

function validarCodigoPostal(nombre)
{
	var er_cp = /(^([0-9]{5,5})|^)$/;  
	if(!er_cp.test(document.getElementById(nombre).value))   
		 return false;  
	return true;
}

function validarCantidadUE()
{
	return true;
}

function validarCantidad()
{
	return true;
}


function limpiarTelf(nombre)
{
	erSeparador=/[.]|[,]|[(]|[)]|[-]| /g;
	document.getElementById(nombre).value = document.getElementById(nombre).value.replace(erSeparador,"");
}

function validarTelefono(Prefijo,Telefono)
{
	var rePreTelf=/\d{2,3}$/; // Reg Exp para prefijo telefono
	var reTelf=/\d{6,15}$/; // Reg Exp para teléfono correcto
	var reTelfMal=/\D/; // Reg Exp para teléfono incorrecto
	if (Prefijo != "" && !rePreTelf.exec(Prefijo)) return false;
	if (Telefono != "" && !reTelf.exec(Telefono)) return false;
	if (Telefono != "" && reTelfMal.exec(Telefono)) return false;
	return true;
}

function trim(str) 
{
  str = str.replace (/\s/g, "");
  return str; 
}

function mostrarOcultarDivsMensajes()
{
	document.getElementById("messages").style.display = '';
	document.getElementById("errors").style.display = '';
	if(document.getElementById("success"))
	{
		document.getElementById("success").style.display = 'none';
	}
	
}

function local_duplicate_layer(CONTENEDOR, LAYER, mensajeError)
{
	if(i < 4)
	{
		var NEW_LAYER = document.createElement('div');
		CONTENEDOR = document.getElementById(CONTENEDOR);
		LAYER = document.getElementById(LAYER);
		NEW_LAYER.innerHTML = LAYER.innerHTML;	
		CONTENEDOR.appendChild(NEW_LAYER);
		i++;
	}
	else
	{
		mostrarOcultarDivsMensajes();
		document.getElementById("errors").innerHTML = "<h2>"  + mensajeError + "</h2>";
	}
}

function anadirFavoritos()
{
	if(navigator.appName == "Microsoft Internet Explorer")
	{
		window.external.AddFavorite('http://www.micomunidad.info','miComunidad.info, Comunidad de Vecinos en Internet');
		return true;
	}
	else
	{
		return false;
	}
}
/*
function trim(cadena)
{
	for(i=0; i<cadena.length; )
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	
	return cadena;
}*/