function paypalAction( action, onload, callback) { var url = null; if ( action.indexOf( 'http') >= 0) { url = action; } else { url = '/paypal-' + action + '.html'; } if ( typeof( PAYPALwindow) == 'window') { PAYPALwindow.location.href = url; } else { PAYPALwindow = window.open( url, 'PAYPAL', 'height=900,menubar=no,scrollbars=yes,width=1100,location=no,status=no'); } if ( onload) { PAYPALwindow.onload = onload; } if ( callback) { PAYPALwindow_callback = callback; if ( typeof( PAYPALwindowTimer) != 'undefined') { window.clearInterval( PAYPALwindowTimer); delete PAYPALwindowTimer; } PAYPALwindowTimer = window.setInterval( function() { if ( PAYPALwindow.closed) { window.clearInterval( PAYPALwindowTimer); delete PAYPALwindowTimer; if ( typeof( PAYPALwindow_callback) == 'function') { var parsedResult = false; try { parsedResult = JSON.parse( PAYPALwindow.document.body.dataset.result); } catch (err) { } PAYPALwindow_callback( parsedResult); PAYPALwindow_callback = null; delete PAYPALwindow_callback; } PAYPALwindow = null; delete PAYPALwindow; } }, 100); } return( PAYPALwindow); }