He.Bootstrap('He.Application'); He.Application.GetName = function() { return He.Application.name; }; He.Application.RegisterBackChannel = function(_key,_cb) { if(!He.IsFunction(_cb)) { He.Log('Callback isn\'t a function into RegisterBackChannel : ' ,_key, _cb); return; } // He.Bootstrap('He.Application.FbCb'); if(!He.Application.FbCb) { He.Application.FbCb = {}; } He.Application.FbCb[_key] = _cb; if(He.Application.PData && He.Application.PData[_key]) { var pending = He.Application.PData[_key]; for(var i = 0; i < pending.length; ++i) { He.Application.BackChannel(_key,pending[i]); } delete(He.Application.PData[_key]) } }; He.Application.BackChannel = function(_key,_value) { if(!He.Application.FbCb) { return; } if(He.IsFunction(He.Application.FbCb[_key])) { He.Application.FbCb[_key](_value); } else { He.Application.PendingBackChannel(_key,_value); } }; He.Application.BulkBackChannel = function(_feedback) { if(!He.Application.FbCb) { return; } for(var key in _feedback) { if(!He.IsFunction(_feedback[key])) { if(He.IsFunction(He.Application.FbCb[key])) { if(_feedback[key]) { He.Application.FbCb[key](_feedback[key]); } } else { He.Application.PendingBackChannel(key,_feedback[key]); } } } }; He.Application.PendingBackChannel = function(_key,_value) { if(!He.Application.PData) { He.Application.PData = {}; } if(He.Application.PData[_key]) { He.Application.PData[_key].push(_value); } else { He.Application.PData[_key] = [_value]; } } He.Application.UpdateUid = function(_feedback) { if(!parseInt(_feedback) && He.Application.Common.UserProfileId) { document.location.reload(true); } He.Application.Common.UserProfileId = _feedback; }; He.Application.UpdateVid = function(_feedback) { He.Application.Common.VisitedProfileId = _feedback; }; He.Application.UpdateTitle = function(_feedback) { if(_feedback) { document.title = He.Application.GetName() + ' - ' + _feedback; } }; He.Application.UpdateNodeDesc = function(_feedback) { if(_feedback) { var node_description = $('node_description'); if(node_description) { //node_description.nodeValue = "&bulll; " + _feedback; node_description.innerHTML = _feedback; } } }; He.Application.RegisterBackChannel('uid',He.Application.UpdateUid); He.Application.RegisterBackChannel('vid',He.Application.UpdateVid); He.Application.RegisterBackChannel('title',He.Application.UpdateTitle); He.Application.RegisterBackChannel('node_desc',He.Application.UpdateNodeDesc); He.Application.RegisterBackChannel('navpath',He.Application.UpdateNavPath);