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(); } } );