Ancestors of Otto Henry deGruyter
div#infoField {position: fixed;
height: auto;
top: 3%;
right: 0;
bottom: 5%;
left: 45%;
overflow: auto;}
form#searchForm {position: fixed;}
input.valid {background: rgb(191,255,191);}
input.invalid {background: rgb(255,191,191);}
pre#copyright {position: fixed; background: mediumseagreen;
bottom: 0;}
p#copyright {position: fixed; background: mediumseagreen;
bottom: 0; width: 40%}
line {stroke-width: 5px;}
rect {fill: black;}
path {stroke: white; stroke-width: 1;}
.male {fill: rgb(114,159,207);}
.female {fill: rgb(200,85,85);}
rect.activated {stroke: black;
fill: rgb(252,233,79) ! important;}
rect.searched {stroke: black;
fill: rgb(252,175,62);}
path.activated {stroke: black;
fill: rgb(252,233,79) ! important;}
path.searched {stroke: black;
fill: rgb(252,175,62);}
h3 {clear: left;}
dt {clear: right;}
li {clear: right;}
div.imgTable {position: relative;
float: right;
max-width: 70%;}
object:before {content: attr(imgref);
color: black;
font-size: smaller;}
object { width: 100%;
max-height: 5em;
margin: 1px;
border-style: none;}
object.portret {float: left;
max-width: 25%;
max-height: 10em;}
img:before {content: attr(imgref);
color: black;
font-size: smaller;}
img { width: 100%;
max-height: 5em;
margin: 1px;
border-style: none;}
img.portret {float: left;
max-width: 25%;
max-height: 10em;}
line.VeryLow {stroke: #000000;}
span.VeryLow {color: #000000;}
line.Low {stroke: #000000;}
span.Low {color: #000000;}
line.Normal {stroke: #000000;}
span.Normal {color: #000000;}
line.High {stroke: #000000;}
span.High {color: #000000;}
line.VeryHigh {stroke: #000000;}
span.VeryHigh {color: #000000;}
line {stroke:#000000;}
span.witnesses {font-size: smaller;}
span.bron {font-size: smaller;}
1) {
img.setAttribute('class',arguments[1]);
}
a.setAttribute('href',photo.img_path);
if (photo.img_ref != undefined) {
img.setAttribute('imgref',photo.img_ref);
}
a.appendChild(img);
return a
}
function img_sources2html(person,containerDIV) {
if (person.img_sources != undefined) {
var sourcesOL = document.createElement('ol');
for (var i=0; i < person.img_sources.length; i++) {
var sourceLI = document.createElement('li');
sourceLI.appendChild(document.createTextNode(person.img_sources[i]));
sourcesOL.appendChild(sourceLI);
}
var subtitle = document.createElement('h3');
subtitle.appendChild(document.createTextNode('Image Sources:'));
containerDIV.appendChild(subtitle);
containerDIV.appendChild(sourcesOL);
}
return;
}
function replaceSubstring(mainStr,subsStr,replText) {
//mainStr is a multiline string
//subStr is the substring that must be replaced.
// replText is a string or an array of strings.
var delete_start;
if ((replText) &&
((delete_start = mainStr.indexOf(subsStr)) >=0)) {
if (typeof(replText) != 'string') {
replText = replText.join(", ");
}
var newline_index = mainStr.substr(0,delete_start).lastIndexOf('\n');
return mainStr.substr(0,newline_index+1) + subsStr + mainStr.substring(newline_index+1,delete_start) + replText + mainStr.substring(delete_start+subsStr.length,mainStr.length)
} else {
//remove whole line
var re = new RegExp("^.*?" + subsStr + ".*?(?:\n|$)","m")
return mainStr.replace(re,"")
}
}
function event_str2html(event_str,containerEL) {
var empty_line = false;
event_pieces = event_str.split(/\n/);
for (j=0; j');
if (event_pieces[j] == '') {
empty_line = true;
continue;
}
if (empty_line) {
containerEL.appendChild(document.createElement('br'));
empty_line = false;
}
if (event_pieces[j].charAt(0) == '<' && end_class_index != -1) {
var cls = event_pieces[j].substr(1,end_class_index-1);
var span = document.createElement('span');
span.setAttribute('class',cls);
span.appendChild(document.createTextNode(event_pieces[j].substr(end_class_index+1) + ' '));
containerEL.appendChild(span);
} else {
containerEL.appendChild(document.createTextNode(event_pieces[j] + ' '));
}
}
return
}
function witness_array2string_array(witnesses) {
// The input of replaceSubstring() needs to be an array of string.
// This function converts the array of witness objects to an
// array of strings.
if (witnesses == undefined) { return witnesses; }
var ret_ar = [];
for (var i=0; i r_min) {
h.setAttribute('r',0.85*r);
window.setTimeout(self.halo,100,cx,cy,0.85*r,r_min);
} else {
h.setAttribute('stroke','none')
h.setAttribute('r',1);
h.setAttribute('cx',1);
h.setAttribute('cy',1);
}
}
function cleanUp() {
if (infoWindow != undefined && ! infoWindow.closed) {
infoWindow.close();
}
}
function getInfoField(person) {
return document.getElementById('infoField');
}
function birth2html(person,containerDL) {
if (person.birth != undefined) {
var eventDT = document.createElement('dt');
eventDT.appendChild(document.createTextNode(person.birth.event_type + ":"));
containerDL.appendChild(eventDT);
var eventDD = document.createElement('dd');
if (person.birth.event_imgs != undefined) {
var imgDIV = document.createElement('div');
imgDIV.setAttribute('class','imgTable');
var imgTABLE = document.createElement('table');
var imgTR = document.createElement('tr');
for (var j=0; j",
person.birth.birth_date);
event_str = replaceSubstring(event_str,"",
person.birth.birth_place);
event_str = replaceSubstring(event_str,"","");
event_str = replaceSubstring(event_str,"","");
event_str = replaceSubstring(event_str,"","");
event_str = replaceSubstring(event_str,"",
witness_array2string_array(person.birth.event_witnesses));
if ('event_source' in person.birth) {
event_str = replaceSubstring(event_str,"
Search:
in:
Mouse over to see names; click for details. Help
Full Tree
Copyright 2019 Lisa deGruyter
var search_subject_sel = document.getElementById('searchSubject');
var opt = document.createElement('option');
opt.setAttribute('value',"birth_date:'");
opt.appendChild(document.createTextNode('Birth Date'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"birth_place:'");
opt.appendChild(document.createTextNode('Birth Place'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"_date:'");
opt.appendChild(document.createTextNode('Date'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"death_date:'");
opt.appendChild(document.createTextNode('Death Date'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"death_place:'");
opt.appendChild(document.createTextNode('Death Place'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"event_date:'");
opt.appendChild(document.createTextNode('Event Date'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"event_desc:'");
opt.appendChild(document.createTextNode('Event Description'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"event_place:'");
opt.appendChild(document.createTextNode('Event Place'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"event_type:'");
opt.appendChild(document.createTextNode('Event Type'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('selected','selected');
opt.setAttribute('value',"person_name:'");
opt.appendChild(document.createTextNode('Name'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"note_text:'");
opt.appendChild(document.createTextNode('Note'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"_place:'");
opt.appendChild(document.createTextNode('Place'));
search_subject_sel.appendChild(opt);
var opt = document.createElement('option');
opt.setAttribute('value',"source_title:'");
opt.appendChild(document.createTextNode('Source Title'));
search_subject_sel.appendChild(opt);