var feedbackCommentSysCallback; var feedbackCommentSysInsert; var feedbackCommentSysUpdate; var feedbackInsertComments = (function (jsonpMainFetchUrl) { var jsupdate = false; var loaded = false; var urlAddParam = function (url, name, value) { if (url.indexOf('?') >= 0) url += '&'+name+'='+value; else url += '?'+name+'='+value; return url; } jsonpMainFetchUrl = urlAddParam(jsonpMainFetchUrl, 'jsUpdate', 'feedbackCommentSysUpdateBackend'); jsonpMainFetchUrl = urlAddParam(jsonpMainFetchUrl, 'jsonp', 'feedbackCommentSysCallback'); feedbackCommentSysCallback = function (data) { var docpos = document.getElementById('feedback_comment_sys_insert'); $(docpos.parentNode).html(data); }; feedbackCommentSysInsert = function () { var scriptElem = document.createElement('script'); scriptElem.setAttribute('type', 'text/javascript'); scriptElem.setAttribute('src', jsonpMainFetchUrl); var loadedCallback = function () { if (loaded) return; loaded = true; if (jsupdate) { feedbackCommentSysUpdateBackend(jsupdate); } } scriptElem.onload = loadedCallback; scriptElem.onreadystate = loadedCallback; document.body.insertBefore(scriptElem, document.body.firstChild); } feedbackCommentSysUpdate = function (jsondata) { if (loaded) { feedbackCommentSysUpdateBackend(jsondata); } else jsupdate = jsondata; } /* * Delay until after onload */ var onloadEvent = function () { window.setTimeout(feedbackCommentSysInsert, 0); } if (window.addEventListener) window.addEventListener('load', onloadEvent, false); else if (window.attachEvent) window.attachEvent('onload', onloadEvent); else onloadEvent(); }); feedbackUpdateNodeData = function (jsondata) { feedbackCommentSysUpdate(jsondata); }