Modified:
/trunk/charmgrjs/common.js
/trunk/charmgrjs/main.js
=======================================
--- /trunk/charmgrjs/common.js Thu Oct 15 19:00:34 2009
+++ /trunk/charmgrjs/common.js Fri Oct 16 11:30:14 2009
@@ -373,7 +373,7 @@
// TODO - refactor for scoping issues
var cookie_data = get_cookie_data("chardata");
if(cookie_data != null) {
- parse_character_data(cookie_data);
+ chardata = parse_character_data(cookie_data);
}
return chardata;
}
@@ -389,12 +389,16 @@
function parse_character_data(data) {
// strip off the log entries
- var log_entries = data.substring(data.indexOf('`') + 1);
- log_entries = log_entries.split(',');
- for(var i=0; i<log_entries.length; i++) {
- sav("chardata_log_" + log_entries[i].id, log_entries[i]);
- }
- data = data.substring(data.indexOf('`'));
+ var log_separator = data.indexOf('``');
+ if(log_separator > 0) {
+ var log_entries = data.substring(log_separator + 2);
+ log_entries = log_entries.split('`');
+ for(var i=0; i<log_entries.length; i++) {
+ var entry = TAFFY.JSON.parse(unescape(log_entries[i]));
+ sav(entry, "chardata_log_" + entry.id);
+ }
+ data = data.substring(0, data.indexOf('``'));
+ }
chardata = {};
chardata = TAFFY.JSON.parse(unescape(data));
if (chardata.skills != null) {
@@ -472,6 +476,8 @@
}
chardata.languages = char_languages;
}
+
+ return chardata;
}
function export_character() {
=======================================
--- /trunk/charmgrjs/main.js Fri Oct 16 05:24:16 2009
+++ /trunk/charmgrjs/main.js Fri Oct 16 11:30:14 2009
@@ -313,7 +313,7 @@
// new entry
if(entry_id == '') {
entry_id = Math.floor(Math.random()*4294967295).toString(16);
- chardata.log.push(entry_id);
+ chardata.log.push(entry_id);ss
}
// edit entry
sav({id: entry_id, xp: $('#log_xp').text(), hp: $('#log_hp').text(),
date: Date.parse($('#log_date').text()), note:
htmlize($('#log_note').val())}, 'chardata_log_' + entry_id);
@@ -322,7 +322,7 @@
$('#save_log').val('save');
$('#log_date').text((new Date()).toDateString());
$('#log_xp').text(chardata.xp);
- $('#log_hp').text($("input['hp']") != null &&
$("input['hp']").val().length > 0 ? $("input['hp']").val() : chardata.hp);
+ $('#log_hp').text($("input[id='hp']") != null &&
$("input[id='hp']").val().length > 0 ? $("input[id='hp']").val() :
chardata.hp);
sav(chardata, 'chardata');
$('#history:hidden').show();
@@ -341,7 +341,7 @@
var hidden = chardata.log.length == 0 ? "display: none;" : "";
var content = "<div id='history' class='box' style='max-height: 150px;
overflow: auto; border-color: #D0D0D0;" + hidden + "'>" +
populate_log_history(chardata) + "</div>";
// use the "live" hp value if it's populated
- var log_hp = ($("input['hp']").val().length > 0 ?
$("input['hp']").val() : (chardata.hp == null ? 0 : chardata.hp));
+ var log_hp = ($("input[id='hp']").val().length > 0 ?
$("input[id='hp']").val() : (chardata.hp == null ? 0 : chardata.hp));
content += "<div id='new_entry' style='height: 50%'><input
id='entry_id' type='hidden' value='' /><table style='width: 100%'>";
content += "<tr><td id='log_date' style='font-size: xx-small'
onclick=\"edit_log_metadata('log_date', $('#log_date').text())\">" + (new
Date()).toDateString() + "</td><td id='log_hp' class='numeric'
style='font-size: xx-small' onclick=\"edit_log_metadata('log_hp',
$('#log_hp').text())\">" + log_hp + "</td><td id='log_xp' class='numeric'
style='font-size: xx-small' onclick=\"edit_log_metadata('log_xp',
$('#log_xp').text())\">" + (chardata.xp == null ? 0 : chardata.xp)
+ "</td><td style='text-align: right;'><input id='save_log' type='button'
value='save' onclick='save_log(chardata)'/></td></tr>";
content += "<tr><td colspan=4><textarea id='log_note' style='width:
100%'/></td></tr></table>";
@@ -440,7 +440,7 @@
$('#race').text(race ? race : '');
$('#clazz').text(clazz ? clazz : '');
$('#hp').text(chardata.hp == null ? '' : calc_hp(chardata.hp,
chardata.feats));
- $("input['hp']").val(chardata.hp == null ? '' : chardata.hp);
+ $("input[id='hp']").val(chardata.hp == null ? '' : chardata.hp);
$('#level').text(calc_level(chardata.xp == null ? 0 : chardata.xp) + 1);
// $('#attack_mod').spinner();
// $('#damage_mod').spinner();