From: Simone O. <svn...@pl...> - 2010-12-29 15:54:37
|
Author: simahawk Date: Wed Dec 29 15:53:13 2010 New Revision: 46535 Modified: plone.app.event/trunk/plone/app/event/browser/event.js Log: [fix] update endDate onchange + validate endDate onchange Modified: plone.app.event/trunk/plone/app/event/browser/event.js ============================================================================== --- plone.app.event/trunk/plone/app/event/browser/event.js (original) +++ plone.app.event/trunk/plone/app/event/browser/event.js Wed Dec 29 15:53:13 2010 @@ -7,20 +7,35 @@ $j('.datetimewidget-time').fadeIn(); } -function updateEndDate(dateText, inst) { - var start_date = $j('#startDate').datepicker('getDate'); - var new_end_date = new Date(); - new_end_date.setDate(start_date.getDate() + end_start_delta); - $j('#endDate').datepicker('setDate', new_end_date); +function updateEndDate() { + var start = $j('#archetypes-fieldname-startDate'); + var end = $j('#archetypes-fieldname-endDate'); + var fields = ['month','day','year','hour','min']; + jq.each(fields,function(){ + var val = jq(start).find("."+this).val(); + jq(end).find("."+this).val(val); + }); } -function validateEndDate(dateText, inst) { - var start_date = $j('#startDate').datepicker('getDate'); - var end_date = $j('#endDate').datepicker('getDate'); - end_start_delta = (end_date - start_date) / 1000 / (3600 * 24); - if (end_date < start_date) { +function validateEndDate() { + var start = $j('#archetypes-fieldname-startDate'); + var end = $j('#archetypes-fieldname-endDate'); + var fields = ['year','month','day','hour','min']; + var sdate = {}; + var edate = {}; + jq.each(fields,function(){ + sdate[this] = parseInt( jq(start).find("."+this).val()); + }); + jq.each(fields,function(){ + edate[this] = parseInt(jq(end).find("."+this).val()); + }); + + var startdate = new Date(sdate.year,sdate.month,sdate.day,sdate.hour,sdate.min); + var enddate = new Date(edate.year,edate.month,edate.day,edate.hour,edate.min); + + if(enddate < startdate){ $j('#archetypes-fieldname-endDate').addClass("error"); - } else { + }else{ $j('#archetypes-fieldname-endDate').removeClass("error"); } } @@ -37,10 +52,7 @@ $j(document).ready(function() { $j('#wholeDay').bind('change', wholeDayHandler); - $j('#startDate').bind('focus', initDelta); - $j('#endDate').bind('focus', initDelta); - - $j('#startDate').datepicker({onClose: updateEndDate}); - $j('#endDate').datepicker({onClose: validateEndDate}); + $j('[id^=startDate]').change(updateEndDate); + $j('[id^=endDate]').change(validateEndDate); }) |