202 lines
7.9 KiB
JavaScript
202 lines
7.9 KiB
JavaScript
|
|
function updateDateDue() {
|
|||
|
|
document.getElementById('date_due').value =
|
|||
|
|
document.getElementById('date_due_date').value + ' '+
|
|||
|
|
document.getElementById('date_due_hours').value + ':'+
|
|||
|
|
document.getElementById('date_due_minutes').value;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function updateDateStart() {
|
|||
|
|
document.getElementById('date_start').value =
|
|||
|
|
document.getElementById('date_start_date').value + ' '+
|
|||
|
|
document.getElementById('date_start_hours').value + ':'+
|
|||
|
|
document.getElementById('date_start_minutes').value;
|
|||
|
|
}
|
|||
|
|
function getCurrentDate() {
|
|||
|
|
var d = new Date();
|
|||
|
|
var m = d.getMonth()+1;
|
|||
|
|
if (m<10) m='0'+m;
|
|||
|
|
var today = d.getDate()+'.'+m+'.'+d.getFullYear();
|
|||
|
|
return today;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getCurrentTime(what) {
|
|||
|
|
var t = new Date();
|
|||
|
|
var h = t.getHours();
|
|||
|
|
var m = t.getMinutes();
|
|||
|
|
|
|||
|
|
//m can only be 0,15,30,45
|
|||
|
|
if (m/15>2.4)
|
|||
|
|
m = 15*Math.floor(m/15);
|
|||
|
|
else
|
|||
|
|
m = 15*(Math.floor(m/15)+1);
|
|||
|
|
|
|||
|
|
if (m<1) m='00';
|
|||
|
|
|
|||
|
|
var act_time = h+':'+m;
|
|||
|
|
|
|||
|
|
if (what==1)
|
|||
|
|
return act_time;
|
|||
|
|
if (what==2)
|
|||
|
|
return h;
|
|||
|
|
if (what==3)
|
|||
|
|
return m;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function addEvent(object,eventName,do_function) {
|
|||
|
|
if(typeof(object) == "string") object = document.getElementById(object);
|
|||
|
|
if(!object) { alert('No object in function addEvent!'); return; }
|
|||
|
|
if(object.addEventListener) {
|
|||
|
|
object.addEventListener(eventName, do_function, false);
|
|||
|
|
} else {
|
|||
|
|
object.attachEvent('on'+eventName, do_function);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function hideFields() {
|
|||
|
|
document.getElementById('date_due_date').style.display='none';
|
|||
|
|
document.getElementById('date_due_trigger').style.display='none';
|
|||
|
|
|
|||
|
|
document.getElementById('date_start_date').style.display='none';
|
|||
|
|
document.getElementById('date_start_trigger').style.display='none';
|
|||
|
|
|
|||
|
|
document.getElementById('job_date_time_section').style.display='none';
|
|||
|
|
|
|||
|
|
if (document.getElementById('all_day').checked==true) {
|
|||
|
|
document.getElementById('date_due_minutes').disabled=true;
|
|||
|
|
document.getElementById('date_due_hours').disabled=true;
|
|||
|
|
document.getElementById('date_start_minutes').disabled=true;
|
|||
|
|
document.getElementById('date_start_hours').disabled=true;
|
|||
|
|
document.getElementById('no_time_finish').disabled=true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (document.getElementById('no_time_finish').checked==true) {
|
|||
|
|
document.getElementById('date_due_minutes').disabled=true;
|
|||
|
|
document.getElementById('date_due_hours').disabled=true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function fillData() {
|
|||
|
|
if (NEW_TASK==1) {
|
|||
|
|
document.getElementById('job_date_date').value = getCurrentDate();
|
|||
|
|
document.getElementById('date_start_date').value = getCurrentDate();
|
|||
|
|
document.getElementById('date_due_date').value = getCurrentDate();
|
|||
|
|
document.getElementById('date_start_hours').value = '08';
|
|||
|
|
document.getElementById('date_start_minutes').value = '00';
|
|||
|
|
document.getElementById('date_due_hours').value = '08';
|
|||
|
|
document.getElementById('date_due_minutes').value = '30';
|
|||
|
|
document.getElementById('job_date_hours').value = '08';
|
|||
|
|
document.getElementById('job_date_minutes').value = '00';
|
|||
|
|
document.getElementById('date_start').value=getCurrentDate()+' 08:00';
|
|||
|
|
document.getElementById('date_due').value=getCurrentDate()+' 08:30';
|
|||
|
|
} else {
|
|||
|
|
document.getElementById('job_date_date').value = document.getElementById('date_start_date').value;
|
|||
|
|
document.getElementById('job_date_hours').value = document.getElementById('date_start_hours').value;
|
|||
|
|
document.getElementById('job_date_minutes').value = document.getElementById('date_start_minutes').value;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//onStart
|
|||
|
|
addEvent(window,'load', function() {
|
|||
|
|
|
|||
|
|
hideFields();
|
|||
|
|
fillData();
|
|||
|
|
|
|||
|
|
|
|||
|
|
//to remember time after select 'all_day'
|
|||
|
|
var sh = document.getElementById('date_start_hours').value;
|
|||
|
|
var sm = document.getElementById('date_start_minutes').value;
|
|||
|
|
var dh = document.getElementById('date_due_hours').value;
|
|||
|
|
var dm = document.getElementById('date_due_minutes').value;
|
|||
|
|
|
|||
|
|
document.getElementById('job_date_date').onchange = function() {
|
|||
|
|
obj = document.getElementById('job_date_date');
|
|||
|
|
document.getElementById('date_start_date').value = obj.value;
|
|||
|
|
document.getElementById('date_due_date').value = obj.value;
|
|||
|
|
document.getElementById('date_start').value=obj.value+' '+document.getElementById('date_start_hours').value+':'+document.getElementById('date_start_minutes').value;
|
|||
|
|
document.getElementById('date_due').value=obj.value+' '+document.getElementById('date_due_hours').value+':'+document.getElementById('date_due_minutes').value;
|
|||
|
|
}
|
|||
|
|
document.getElementById('all_day').onchange = function() {
|
|||
|
|
obj=document.getElementById('all_day');
|
|||
|
|
if (obj.checked==true) {
|
|||
|
|
sh = document.getElementById('date_start_hours').value;
|
|||
|
|
sm = document.getElementById('date_start_minutes').value;
|
|||
|
|
dh = document.getElementById('date_due_hours').value;
|
|||
|
|
dm = document.getElementById('date_due_minutes').value;
|
|||
|
|
|
|||
|
|
document.getElementById('date_start_hours').value = '08';
|
|||
|
|
document.getElementById('date_start_minutes').value = '00';
|
|||
|
|
document.getElementById('date_due_hours').value = '16';
|
|||
|
|
document.getElementById('date_due_minutes').value = '00';
|
|||
|
|
document.getElementById('job_date_hours').value = '08';
|
|||
|
|
document.getElementById('job_date_minutes').value = '00';
|
|||
|
|
updateDateDue();
|
|||
|
|
updateDateStart();
|
|||
|
|
|
|||
|
|
|
|||
|
|
document.getElementById('date_due_minutes').disabled=true;
|
|||
|
|
document.getElementById('date_due_hours').disabled=true;
|
|||
|
|
document.getElementById('date_start_minutes').disabled=true;
|
|||
|
|
document.getElementById('date_start_hours').disabled=true;
|
|||
|
|
document.getElementById('no_time_finish').disabled=true;
|
|||
|
|
}else{
|
|||
|
|
document.getElementById('date_start_hours').value = sh;
|
|||
|
|
document.getElementById('date_start_minutes').value = sm;
|
|||
|
|
document.getElementById('date_due_hours').value = dh;
|
|||
|
|
document.getElementById('date_due_minutes').value = dm;
|
|||
|
|
document.getElementById('job_date_hours').value = sh;
|
|||
|
|
document.getElementById('job_date_minutes').value = sm;
|
|||
|
|
updateDateDue();
|
|||
|
|
updateDateStart();
|
|||
|
|
|
|||
|
|
|
|||
|
|
document.getElementById('date_due_minutes').disabled=false;
|
|||
|
|
document.getElementById('date_due_hours').disabled=false;
|
|||
|
|
document.getElementById('date_start_minutes').disabled=false;
|
|||
|
|
document.getElementById('date_start_hours').disabled=false;
|
|||
|
|
document.getElementById('no_time_finish').disabled=false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
document.getElementById('status').onchange=function() {
|
|||
|
|
var obj = document.getElementById('status');
|
|||
|
|
if ((obj.value=='made') || (obj.value=='canceled')) {
|
|||
|
|
//set all data and time filds to actual date() value
|
|||
|
|
document.getElementById('job_date_date').value = getCurrentDate();
|
|||
|
|
document.getElementById('date_start_date').value = getCurrentDate();
|
|||
|
|
document.getElementById('date_due_date').value = getCurrentDate();
|
|||
|
|
document.getElementById('date_start_hours').value = getCurrentTime(2);
|
|||
|
|
document.getElementById('date_start_minutes').value = getCurrentTime(3);
|
|||
|
|
document.getElementById('date_due_hours').value = getCurrentTime(2);
|
|||
|
|
document.getElementById('date_due_minutes').value = getCurrentTime(3);
|
|||
|
|
document.getElementById('job_date_hours').value = getCurrentTime(2);
|
|||
|
|
document.getElementById('job_date_minutes').value = getCurrentTime(3);
|
|||
|
|
document.getElementById('date_start').value=getCurrentDate()+' '+getCurrentTime(1);
|
|||
|
|
document.getElementById('date_due').value=getCurrentDate()+' '+getCurrentTime(1);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
document.getElementById('no_time_finish').onchange=function() {
|
|||
|
|
var obj = document.getElementById('no_time_finish');
|
|||
|
|
if (obj.checked==true) {
|
|||
|
|
document.getElementById('date_due_hours').value='23';
|
|||
|
|
document.getElementById('date_due_minutes').value='45';
|
|||
|
|
|
|||
|
|
document.getElementById('date_due_minutes').disabled=true;
|
|||
|
|
document.getElementById('date_due_hours').disabled=true;
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
document.getElementById('date_due_hours').value='08';
|
|||
|
|
document.getElementById('date_due_minutes').value='30';
|
|||
|
|
|
|||
|
|
document.getElementById('date_due_minutes').disabled=false;
|
|||
|
|
document.getElementById('date_due_hours').disabled=false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
updateDateDue();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
);
|
|||
|
|
|