Например
saving_tip=function(e){
for(var name in inputs)
if(inputs[name].dirty())
return (e||window.event).returnValue='\o/';
},
/* below */
if(opts.saving_tip)
W.addEventListener('beforeunload',saving_tip,false);
/*
это когда после аякса приходит команда пойти нах
и чтоб без вопросов пойти, то онбефореунлоад надо отменить сперва
*/
if(typeof data.Location!==U) {
W.removeEventListener('beforeunload',saving_tip,false);
return W.location.assign(data.Location);
}
Стандартная схема. А куки при чем тут?