').jqmData('field', w.fldOrder[i]).addClass('ui-block-'+['a','b','c','d'][i]).append(inBase.clone()).appendTo(divIn).prepend('
');
w._makeEl(butBase, {'attr': {'field':w.fldOrder[i]}}).addClass('ui-block-'+['a','b','c','d'][i]).buttonMarkup(butPTheme).appendTo(divPlus);
w._makeEl(butBase, {'attr': {'field':w.fldOrder[i]}}).addClass('ui-block-'+['a','b','c','d'][i]).buttonMarkup(butMTheme).appendTo(divMinus);
break;
}
}
i = w.theDate.getEpoch() - w.initDate.getEpoch();
if ( i<0 ) { i = 0; w.theDate.setTime(w.initDate.getTime()); }
w.lastDuration = i; // Let the number of seconds be sort of public.
// DAYS
cDur[0] = parseInt( i / ival.d,10); i = i % ival.d;
// HOURS
cDur[1] = parseInt( i / ival.h, 10); i = i % ival.h;
// MINS AND SECS
cDur[2] = parseInt( i / ival.i, 10);
cDur[3] = i % ival.i;
divIn.find('input').each(function () {
switch ( $(this).parent().jqmData('field') ) {
case 'd':
$(this).val(cDur[0]); break;
case 'h':
$(this).val(cDur[1]); break;
case 'i':
$(this).val(cDur[2]); break;
case 's':
$(this).val(cDur[3]); break;
}
});
divPlus.addClass('ui-grid-'+['a','b','c'][w.fldOrder.length-2]).appendTo(w.d.intHTML);
divIn.addClass('ui-grid-'+['a','b','c'][w.fldOrder.length-2]).appendTo(w.d.intHTML);
divMinus.addClass('ui-grid-'+['a','b','c'][w.fldOrder.length-2]).appendTo(w.d.intHTML);
if ( o.useSetButton || o.useClearButton ) {
y = $('
', {'class':uid+'controls'});
if ( o.useSetButton ) {
$('
'+((o.mode==='datebox')?w.__('setDateButtonLabel'):w.__('setTimeButtonLabel'))+'')
.appendTo(y).buttonMarkup({theme: o.theme, icon: 'check', iconpos: 'left', corners:true, shadow:true})
.on(o.clickEventAlt, function(e) {
e.preventDefault();
w.d.input.trigger('datebox', {'method':'set', 'value':w._formatter(w.__fmt(),w.theDate), 'date':w.theDate});
w.d.input.trigger('datebox', {'method':'close'});
});
}
if ( o.useClearButton ) {
$('
'+w.__('clearButton')+'')
.appendTo(y).buttonMarkup({theme: o.theme, icon: 'delete', iconpos: 'left', corners:true, shadow:true})
.on(o.clickEventAlt, function(e) {
e.preventDefault();
w.d.input.val('');
w.d.input.trigger('datebox',{'method':'clear'});
w.d.input.trigger('datebox',{'method':'close'});
});
}
if ( o.useCollapsedBut ) {
y.addClass('ui-datebox-collapse');
}
y.appendTo(w.d.intHTML);
}
if ( o.repButton === false ) {
divPlus.on(o.clickEvent, 'div', function(e) {
e.preventDefault();
w._offset($(this).jqmData('field'), o.durationSteppers[$(this).jqmData('field')]);
});
divMinus.on(o.clickEvent, 'div', function(e) {
e.preventDefault();
w._offset($(this).jqmData('field'), o.durationSteppers[$(this).jqmData('field')]*-1);
});
}
divIn.on('change', 'input', function() { w._durbox_enter($(this)); });
if ( w.wheelExists ) { // Mousewheel operation, if plugin is loaded
divIn.on('mousewheel', 'input', function(e,d) {
e.preventDefault();
w._offset($(this).parent().jqmData('field'), ((d<0)?-1:1)*o.durationSteppers[$(this).parent().jqmData('field')]);
});
}
if ( o.repButton === true ) {
divPlus.on(w.drag.eStart, 'div', function(e) {
tmp = [$(this).jqmData('field'), o.durationSteppers[$(this).jqmData('field')]];
w.drag.move = true;
w._dbox_delta = 1;
w._offset(tmp[0], tmp[1]);
if ( !w.runButton ) {
w.drag.target = tmp;
w.runButton = setTimeout(function() {w._dbox_run();}, 500);
}
});
divMinus.on(w.drag.eStart, 'div', function(e) {
tmp = [$(this).jqmData('field'), o.durationSteppers[$(this).jqmData('field')]*-1];
w.drag.move = true;
w._dbox_delta = -1;
w._offset(tmp[0], tmp[1]);
if ( !w.runButton ) {
w.drag.target = tmp;
w.runButton = setTimeout(function() {w._dbox_run();}, 500);
}
});
}
}
});
$.extend( $.mobile.datebox.prototype._drag, {
'durationbox': function() {
var w = this,
o = this.options,
g = this.drag;
if ( o.repButton === true ) {
$(document).on(g.eEndA, function(e) {
if ( g.move ) {
e.preventDefault();
clearTimeout(w.runButton);
w.runButton = false;
g.move = false;
}
});
}
}
});
})( jQuery );