var roles_display_table = ""; // roles table in html form var roles_display_table_full = ""; // with lemma role var role_name = []; // displayed names of roles var role_color = []; // colors assigned to roles function rolesToHtml(roles_display, full){ var i, j, k, table; table = '<table border="1" style="font-size: 11px">'; for (i = 0; i < roles_display.length; i++) { table += '<tr>'; for (j = 0; j < roles_display[i].length; j++) { table += '<td rowspan="'; table += roles_display[i][j].rowspan; table += '" colspan="'; table += roles_display[i][j].colspan; table += '">'; if (roles_display[i][j].caption != "None") { table += "<b>" table += roles_display[i][j].caption; table += "</b>" } for (k = 0; k < roles_display[i][j].roles.length; k++) { table += '<div style='; if (roles_display[i][j].roles[k].color != 'None') { if (roles_display[i][j].roles[k].color == '256,256,256') { table += '"background-color: rgb(256,256,256); font-weight:bold; margin: auto; width: 25%"'; } else { table += '"background-color: rgb(' + roles_display[i][j].roles[k].color + ')'; } } else { table += '"background: linear-gradient(to ' + roles_display[i][j].roles[k].gradient + ', rgba(100,100,100,0.1), rgba(100,100,100,1))'; } table += '"><input type="checkbox" name="roles" value="'; table += roles_display[i][j].roles[k].id; table += '"><label>'; table += roles_display[i][j].roles[k].rolename; table += '</label></div>'; if (full) { role_name[roles_display[i][j].roles[k].id] = roles_display[i][j].roles[k].rolename; role_color[roles_display[i][j].roles[k].id] = {"color": roles_display[i][j].roles[k].color, "gradient": roles_display[i][j].roles[k].gradient}; } } table += '</td>'; } table += '</tr>'; } table += '</table>'; return table; } function isLemma(roles) { if (roles.length != 1) { return false; } return (role_name[roles[0]] == 'Lemma'); } function memorizeRoles(roles_display, roles_full){ roles_display_table = rolesToHtml(roles_display, false); roles_display_table_full = rolesToHtml(roles_full, true); } function getStyle(frame_id, complement_num) { style_type = ""; style_color = ""; style_value = ""; var roles = frame_content[parseInt(frame_id)].display.roles[complement_num].argument; var i; for (i = 0; i < roles.length; i++) { var color = role_color[roles[i]]; if (color.gradient != "None") { // Safari browser only if(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { style_type = "-webkit-linear-gradient(" + color.gradient + ", "; } else { style_type = "linear-gradient(to " + color.gradient + ", "; } } else { style_color = color.color } } if (style_type == "") { style_type = "background-color"; style_value = "rgb(" + style_color + ")"; } else { // Safari browser only if(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { style_value = style_type + "rgba(" + style_color + ",1), rgba(" + style_color + ",0.1))"; } else { style_value = style_type + "rgba(" + style_color + ",0.1), rgba(" + style_color + ",1))"; } style_type = "background"; } return {"type": style_type, "value": style_value}; } function isPOL(frame_id, complement_num) { var roles = frame_content[parseInt(frame_id)].display.roles[complement_num].argument; if (roles.length != 1) { return false; } if (role_name[roles[0]] == 'Lemma') { return true; } else { return false; } }