Ext.onReady(function(){
       
var win = window.nativeWindow;
       
var opener = Ext.air.NativeWindow.getRootHtmlWindow();
       
var taskId = String(window.location).split('=')[1];
       
       
var store = opener.tx.data.tasks;
       
var task = store.lookup(taskId);
       
        win
.title = 'Reminder - ' + Ext.util.Format.ellipsis(task.data.title, 40);
       
        bulkUpdate
({
               
'task-title' : Ext.util.Format.ellipsis(task.data.title, 80),
               
'task-due' : task.data.dueDate ? task.data.dueDate.format('F d, Y') : 'None'
       
});
       
       
function bulkUpdate(o){
               
for(var id in o){
                       
Ext.fly(id).update(o[id]);
               
}
       
}
               
       
var dismiss = new Ext.Button({
                text
: 'Dismiss',
                minWidth
: 80,
                renderTo
: 'btns',
                handler
: function(){
                        win
.close();
               
}
       
});
       
       
var snooze = new Ext.Button({
                text
: 'Snooze',
                minWidth
: 80,
                renderTo
: 'btns',
                handler
: function(){
                       
var min = parseInt(Ext.get('snooze-time').getValue(), 10);
                       
var reminder = new Date().add('mi', min);
                       
var o = store.getById(taskId);
                       
if(o){
                                o
.set('reminder', reminder);
                       
}else{
                                store
.proxy.table.updateBy({reminder: reminder}, 'where taskId = ?', [taskId]);
                       
}
                        win
.close();
               
}
       
});
       
        win
.visible = true;
        win
.activate();
        win
.notifyUser('informational');
       
       
Ext.air.Sound.play('beep.mp3', 10500);
});