function onArrowClick(formName, inputName, offset, range, resolution)
{
	var frm = document.forms[formName];
	var ctrl = frm.elements[inputName];
	if (!ctrl.disabled) {
		var valstr = ctrl.value;
		if (!isNaN(valstr))
		{
			var val = Number(valstr);
			if (resolution && ((val % resolution) != 0))
			{
				var adjust = val % resolution;
				offset = (offset > 0) ? resolution - adjust : -adjust;
			}
			var newval = range ? ((range + val + offset) % range) : Math.max(0, val + offset);
			ctrl.value = newval;
		}
	}
}

function zeropad(strin, len)
{
	var str = new String(strin);
	while (str.length < len)
	{
		str = "0" + str;
	}
	return str;
}

function getDateInput(frm, prefix)
{
	var any = getNumber(frm.elements[prefix + "any"], 1900, 2100);
	var mes = getNumber(frm.elements[prefix + "mes"], 1, 12);
	var dia = getNumber(frm.elements[prefix + "dia"], 1, 31);
	var hora = getNumber(frm.elements[prefix + "hora"], 0, 23);
	var minut = getNumber(frm.elements[prefix + "minut"], 0, 59);
	if ((any==null) || (mes==null) || (dia==null) || (hora==null) || (minut==null))
	{
		return null;
	}
	var result = new Date(any, mes-1, dia, hora, minut, 0, 0);
	if (result.getDate() != dia)
	{
		// Esto pasa cuando introducimos fechas incorrectas como 31/abril, etc.
		return null;
	}
	else
	{
		
		var strdate = "" + any + "-" + zeropad(mes, 2) + "-" + zeropad(dia, 2) + " " + zeropad(hora, 2) + ":" + zeropad(minut, 2) + ":00";
		setValue(frm.elements[prefix], strdate);		
		return result;
	}
}

function setDateInput(frm,prefix,date){
	var minutes=date.getMinutes();
	if(date.getMinutes()%15!=0){
		var pInt=parseInt(date.getMinutes()/15);
		if(pInt==3){			
			var hora=60*60*1000
			date.setTime(date.getTime()+hora);			
			minutes=0;			
		}else{
			minutes=(pInt+1)*15;			
		}
	}

	
	
	setValue(frm.elements[prefix + "any"], date.getFullYear());
	setValue(frm.elements[prefix + "mes"], date.getMonth()+1);
	setValue(frm.elements[prefix + "dia"], date.getDate());
	
	
	setValue(frm.elements[prefix + "hora"], date.getHours());
	setValue(frm.elements[prefix + "minut"],zeropad(minutes,2) );
}

function checkMinuts(input){
	minutes=Number(input.value);
	if(minutes%15!=0){
		var pInt=parseInt(minutes/15);
		if(pInt>=3){			
			minutes=0;			
		}else{
			minutes=(pInt+1)*15;			
		}		
	}	
	input.value=zeropad(minutes,2);
}
