var wmjserrgrab = {
	window     : window,
	errorLog   : [],
	errNum     : 0,
	silent     : false,
	
	attachErrorEvent : function(silent) {
		wmjserrgrab.silent = silent ? silent : false; 
		wmjserrgrab.window.onerror=this.handleJSError;
	},
	
	handleJSError : function(msg, url, ln) {		
		wmjserrgrab.errorLog[wmjserrgrab.errNum++] = {"url":url,"msg":msg,"ln":ln};
		if(wmjserrgrab.silent)
			return true;
		else
			return false;
	},
	
	serializeErrors : function() {
		var errsArray = [];
		for (var i=0;i < wmjserrgrab.errorLog.length;i++) {
			errsArray[i] = escape(wmjserrgrab.errorLog[i].url)+"|"+escape(wmjserrgrab.errorLog[i].msg)+"|"+escape(wmjserrgrab.errorLog[i].ln);
		}
		return joinedErrs = errsArray.join("||");
	}
};
wmjserrgrab.attachErrorEvent();