 /* 
*   Funciones: isInteger , stripCharsInBag , daysInFebruary , DaysArray , isDate
*   +---------------------------------------------------------------------------------------------------------+
*    Propósito:         Comprobar si una fecha es válida ( en el formato dd/mm/yyyy )
*    Argumentos:        fecha
*    Devuelve:      true ( es una fecha valida )  o false ( no es una fecha valida )
*   +---------------------------------------------------------------------------------------------------------+
*/     
//*************************************************************************************************************** 
//Comprueba que todos los campos, excepto aquellos cuyo nombre este en nooblig, esten rellenos en el form f1
function validarOblig(f1,nooblig)
{
	var longitud = f1.elements.length;
	valido = true;
	var i;
	for (i=0;i<longitud && valido;i++)
	{
		if (!estaEn(f1.elements[i].name,nooblig) && f1.elements[i].value == '')
		{
			valido = false;
			f1.elements[i].focus();
			f1.elements[i].style.backgroundColor="80471f";
			f1.elements[i].style.color="ffffff";
		}
		else if (f1.elements[i].name!=''){
			f1.elements[i].style.backgroundColor="transparent";
			f1.elements[i].style.color="80471f";
		}
	}
	return valido; 
}
// -------------------------------------------------------------------------------------------------------------
//Devuelve verdadero si elem pertenece al vector
function estaEn(elem,vector)
{
	var i;
	for(i=0;i<vector.length;i++)
	{
		if (elem==vector[i])
			return true;
	}
	return false;
}
// -------------------------------------------------------------------------------------------------------------
function validarNumero(f1,camposnum)
{
	var longitud = f1.elements.length;
	valido = true;
	var i;
	for (i=0; i<longitud && valido ;i++)
	{
		if (estaEn(f1.elements[i].name,camposnum))
		{
			if (!esNum(f1.elements[i].value))
			{
				valido = false;
				f1.elements[i].focus();
				f1.elements[i].style.backgroundColor="FA9F9F";
			}
			else
			{
				f1.elements[i].style.backgroundColor="transparent";
			}
		}
	}
	return valido;
}
// -------------------------------------------------------------------------------------------------------------
function validarCP(f1,camposnum){
	var longitud = f1.elements.length;
	valido = true;
	var i;
	for (i=0; i<longitud && valido ;i++){
		if (estaEn(f1.elements[i].name,camposnum)){
			if (!esCP(f1.elements[i].value)){
				valido = false;
				f1.elements[i].focus();
				f1.elements[i].style.backgroundColor="80471f";
				f1.elements[i].style.color="ffffff";
			}
			else{
				f1.elements[i].style.backgroundColor="transparent";
				f1.elements[i].style.color="80471f";
			}
		}
	}
	return valido;
}
// -------------------------------------------------------------------------------------------------------------
function validarTLF(f1,camposnum){
	var longitud = f1.elements.length;
	valido = true;
	var i;
	for (i=0; i<longitud && valido ;i++){
		if (estaEn(f1.elements[i].name,camposnum)){
			if (!esTLF(f1.elements[i].value)){
				valido = false;
				f1.elements[i].focus();
				f1.elements[i].style.backgroundColor="80471f";
				f1.elements[i].style.color="ffffff";
			}
			else{
				f1.elements[i].style.backgroundColor="transparent";
				f1.elements[i].style.color="80471f";
			}
		}
	}
	return valido;
}
// -------------------------------------------------------------------------------------------------------------
function validarEMAIL(f1,camposnum){
	var longitud = f1.elements.length;
	valido = true;
	var i;
	for (i=0; i<longitud && valido ;i++){
		if (estaEn(f1.elements[i].name,camposnum)){
			if (!esEMAIL(f1.elements[i].value)){
				valido = false;
				f1.elements[i].focus();
				f1.elements[i].style.backgroundColor="80471f";
				f1.elements[i].style.color="ffffff";
			}
			else{
				f1.elements[i].style.backgroundColor="transparent";
				f1.elements[i].style.color="80471f";
			}
		}
	}
	return valido;
}
// -------------------------------------------------------------------------------------------------------------
function validarFECHA(f1,camposfecha)
{
	var longitud = f1.elements.length;
	valido = true;
	var i;
	for (i=0; i<longitud && valido ;i++)
	{
		if (estaEn(f1.elements[i].name,camposfecha))
			if (!esFECHA(f1.elements[i].value))
			{
				valido = false;
				f1.elements[i].focus();
				f1.elements[i].style.backgroundColor="80471f";
			}
			else
				f1.elements[i].style.backgroundColor="transparent";
	}
	return valido; 
}
// -------------------------------------------------------------------------------------------------------------
function esNum (num)
{
	var patron = /^\d+(\.\d*)?$/ 
	if (patron.test(num) || num=='')
	{
		return true;		
	}
	return false;
}
// -------------------------------------------------------------------------------------------------------------
function esAnyo (num)
{
	var patron = /^\d{4}$/
	if (patron.test(num))
	{
		return true;		
	}
	return false;
}
// -------------------------------------------------------------------------------------------------------------
function esCP(num)
{
	var patron = /^\d{5}$/
	if (patron.test(num))
	{
		return true;		
	}
	return false;
}
// -------------------------------------------------------------------------------------------------------------
function esTLF(num)
{
	var patron = /^(\+34)?[69]\d{8}$/
	if (patron.test(num))
	{
		return true;		
	}
	return false;
}
// -------------------------------------------------------------------------------------------------------------
function esEMAIL(num)
{
	var patron = /^\D+@[a-zA-Z]{1}.*\.\D+$/
	if (patron.test(num))
	{
		return true;		
	}
	return false;
}
// -------------------------------------------------------------------------------------------------------------
function esFECHA(dtStr)
{
 var daysInMonth = DaysArray(12)
 var pos1=dtStr.indexOf(dtCh)
 var pos2=dtStr.indexOf(dtCh,pos1+1)
 var strDay=dtStr.substring(0,pos1)
 var strMonth=dtStr.substring(pos1+1,pos2)
 var strYear=dtStr.substring(pos2+1)
 strYr=strYear
 if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
 if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
 for (var i = 1; i <= 3; i++) {
  if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
 }
 month=parseInt(strMonth)
 day=parseInt(strDay)
 year=parseInt(strYr)
 if (pos1==-1 || pos2==-1)
 {
  return false
 }
 if (strMonth.length<1 || month<1 || month>12){
  return false
 }
 if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
  return false
 }
 if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
  return false
 }
 if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
  return false
 }
 if ( dtStr.length != 10 ) {
  return false 
 }
 
return true
}
// -------------------------------------------------------------------------------------------------------------
