//Comprobación de fecha introducida
//Uso: valfecha(caja de texto de la fecha);
function esDigito(sChr){
var sCod = sChr.charCodeAt(0);
return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt){
var bOk = false;
bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
return bOk;
}
function finMes(oTxt){
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
var nRes = 0;
switch (nMes){
case 1: nRes = 31; break;
case 2: nRes = 29; break;
case 3: nRes = 31; break;
case 4: nRes = 30; break;
case 5: nRes = 31; break;
case 6: nRes = 30; break;
case 7: nRes = 31; break;
case 8: nRes = 31; break;
case 9: nRes = 30; break;
case 10: nRes = 31; break;
case 11: nRes = 30; break;
case 12: nRes = 31; break;
}
return nRes;
}
function valDia(oTxt){
var bOk = false;
var nDia = parseInt(oTxt.value.substr(0, 2), 10);
bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
return bOk;
}
function valMes(oTxt){
var bOk = false;
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
bOk = bOk || ((nMes >= 1) && (nMes <= 12));
return bOk;
}
function valAno(oTxt){
var bOk = true;
var nAno = oTxt.value.substr(6);
bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
if (bOk){
for (var i = 0; i < nAno.length; i++){
bOk = bOk && esDigito(nAno.charAt(i));
}
}
return bOk;
}
//Función principal
function valFecha(oTxt){
var bOk = true;
if (oTxt.value != ""){
bOk = bOk && (valAno(oTxt));
bOk = bOk && (valMes(oTxt));
bOk = bOk && (valDia(oTxt));
bOk = bOk && (valSep(oTxt));
if (!bOk){
alert("Fecha no válida");
oTxt.focus();
}
}
}
//Fin de Comprobación de fecha introducida
//Comandos de eliminación de espacios
function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function
//



function seleccionado(combo) //Se le pasa un objeto tipo radio y devuelve el seleccionado
{
  var j; 
	for (j=0;j<combo.length;j++)
  { 
     if (combo[j].checked) 
        break; 
  } 
  if (j<combo.length)
  {
     var selusr= combo[j].value;
  }
  else
  {
		var selusr="";
  }
  return selusr;
}

function comparafechas(fecha1, fecha2)
{
	var fechac1=fecha1.substring(6,10)+fecha1.substring(3,5)+fecha1.substring(0,2);
	var fechac2=fecha2.substring(6,10)+fecha2.substring(3,5)+fecha2.substring(0,2);
	if (fechac1==fechac2)
	{
		return 3; //Las fechas son iguales
	}
	else if (fechac1<fechac2)
	{
		return 1; //La primera fecha es menor que la segunda
	}
	else if (fechac1>fechac2)
	{
		return 2; //La primera fecha es mayor que la segunda
	}
}
function diasemana(cadfecha) //Nos da el número de día de la semana de la fecha que se le pasa en formato dd/mm/yyyy
{ 
  cur_day=parseInt(cadfecha.substring(0,2));
	cur_month=parseInt(cadfecha.substring(3,5));
	cur_year=parseInt(cadfecha.substring(8,10));
	
	//Significant value	
	var sig_val;	
	if (cur_month == 1)		
		sig_val = 0;	
	else if (cur_month == 2)		
		sig_val = 3;	
	else if (cur_month == 3)		
		sig_val = 3;	
	else if (cur_month == 4)		
		sig_val = 6;	
	else if (cur_month == 5)		
		sig_val = 1;	
	else if (cur_month == 6)		
		sig_val = 4;	
	else if (cur_month == 7)		
		sig_val = 6;	
	else if (cur_month == 8)		
		sig_val = 2;	
	else if (cur_month == 9)		
		sig_val = 5;	
	else if (cur_month == 10)		
		sig_val = 0;	
	else if (cur_month == 11)		
		sig_val = 3;	
	else if (cur_month == 12)	
		sig_val = 5;		
	
	var val1=(cur_year + parseInt(cur_year/4) + cur_day + sig_val)%7;
	return val1;
}
function cuentadias(fecha1,fecha2) //Cuenta los dias de una fecha a la otra ambas fechas incluidas
{
	var ffin=fecha2.substring(3,5)+"/"+fecha2.substring(0,2)+"/"+fecha2.substring(6,10);
	var fini=fecha1.substring(3,5)+"/"+fecha1.substring(0,2)+"/"+fecha1.substring(6,10);
	var diferencia=(Math.round((Date.parse(ffin)-Date.parse(fini))/(24*60*60*1000))+1);
	return diferencia;
}
function mostrar(nombreCapa){ 
  if (document.getElementById(nombreCapa).style.display=="block")
  {
    document.getElementById(nombreCapa).style.display="none";
  }
  else
  {  
    document.getElementById(nombreCapa).style.display="block";
  }
} 
function cheqmail(objet){ 

    var texto=objet.value;
    var mailres = true; 
    if (texto.length>0)
    {
      
      var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-"; 
       
      var arroba = texto.indexOf("@",0); 
      if ((texto.lastIndexOf("@")) != arroba) arroba = -1; 
       
      var punto = texto.lastIndexOf("."); 
                   
       for (var contador = 0 ; contador < texto.length ; contador++){ 
          if (cadena.indexOf(texto.substr(contador, 1),0) == -1){ 
              mailres = false; 
              break; 
       } 
      } 
  
      if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1)) 
       mailres = true; 
      else 
       mailres = false;
    }
    if (!mailres)
    {
      alert("Dirección de e-mail no válida.");
      objet.focus();
    }             
} 
