summaryrefslogtreecommitdiff
path: root/js/webtrees-1.5.0.js
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2013-11-25 15:42:22 +0000
committerGreg Roach <fisharebest@gmail.com>2013-11-25 15:42:22 +0000
commitde868dc7c2651987f237bbce7ec2a4f1fc355320 (patch)
treea2b40279e6270fa1dabc49e8b9785e11b3ecd9dd /js/webtrees-1.5.0.js
parent68fe26492ee8dfffcfd2be59cd8b28c549102bc8 (diff)
downloadwebtrees-de868dc7c2651987f237bbce7ec2a4f1fc355320.tar.gz
webtrees-de868dc7c2651987f237bbce7ec2a4f1fc355320.tar.bz2
webtrees-de868dc7c2651987f237bbce7ec2a4f1fc355320.zip
#1252446 - webtrees v1.5.0 - cannot unlink media
Diffstat (limited to 'js/webtrees-1.5.0.js')
-rw-r--r--js/webtrees-1.5.0.js1467
1 files changed, 0 insertions, 1467 deletions
diff --git a/js/webtrees-1.5.0.js b/js/webtrees-1.5.0.js
deleted file mode 100644
index e7ba56daea..0000000000
--- a/js/webtrees-1.5.0.js
+++ /dev/null
@@ -1,1467 +0,0 @@
-// Common javascript functions
-//
-// webtrees: Web based Family History software
-// Copyright (C) 2013 webtrees development team.
-//
-// Derived from PhpGedView
-// Copyright (C) 2002 to 2009 PGV Development Team. All rights reserved.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-// Specifications for various types of popup edit window.
-// Choose positions to center in the smallest (1000x800) target screen
-var edit_window_specs='width=650,height=600,left=175,top=100,resizable=1,scrollbars=1'; // edit_interface.php, add_media.php, gedrecord.php
-var indx_window_specs='width=600,height=500,left=200,top=150,resizable=1,scrollbars=1'; // index_edit.php, module configuration
-var news_window_specs='width=740,height=650,left=200,top=150,resizable=1,scrollbars=1'; // edit_news.php
-var help_window_specs='width=500,height=400,left=250,top=200,resizable=1,scrollbars=1'; // help.php
-var find_window_specs='width=550,height=600,left=250,top=150,resizable=1,scrollbars=1'; // find.php, inverse_link.php
-var mesg_window_specs='width=500,height=600,left=250,top=100,resizable=1,scrollbars=1'; // message.php
-var chan_window_specs='width=500,height=600,left=250,top=100,resizable=1,scrollbars=1'; // edit_changes.php
-var mord_window_specs='width=500,height=600,left=250,top=100,resizable=1,scrollbars=1'; // edit_interface.php, media reorder
-var assist_window_specs='width=900,height=800,left=70,top=70,resizable=1,scrollbars=1'; // edit_interface.php, used for census assistant
-var gmap_window_specs='width=650,height=600,left=200,top=150,resizable=1,scrollbars=1'; // googlemap module place editing
-var fam_nav_specs='width=300,height=600,left=817,top=150,resizable=1,scrollbars=1'; // media_0_inverselink.php
-
-// TODO: This function loads help_text.php twice. It should only load it once.
-function helpDialog(which, mod) {
- url='help_text.php?help='+which+'&mod='+mod;
- dialog=jQuery('<div></div>')
- .load(url+' .helpcontent')
- .dialog({
- modal: true,
- width: 500,
- closeText: ""
- });
- jQuery(".ui-widget-overlay").on("click", function () {
- jQuery("div:ui-dialog:visible").dialog("close");
- });
- jQuery('.ui-dialog-title').load(url+' .helpheader');
- return false;
-}
-
-// Create a modal dialog, fetching the contents from a URL
-function modalDialog(url, title) {
- jQuery(document).ajaxComplete(function() {
- jQuery('.ui-dialog').before('<div class="ui-widget-overlay" />');
- });
- dialog=jQuery('<div title="'+title+'"></div>')
- .load(url)
- .dialog({
- modal: false,
- width: 700,
- closeText: "",
- close: function(event, ui) {
- jQuery(this).remove();
- jQuery('.ui-widget-overlay').remove();
- }
- });
- // Close the window when we click outside it.
- jQuery(".ui-widget-overlay").on("click", function () {
- jQuery("div:ui-dialog:visible").dialog("close");
- jQuery(this).remove();
- });
- return false;
-}
-
-// Create a modal dialog to display notes
-function modalNotes(content, title) {
- dialog=jQuery('<div title="'+title+'"></div>')
- .html(content)
- .dialog({
- modal: true,
- width: 500,
- closeText: "",
- close: function(event, ui) { jQuery(this).remove(); }
- });
- // Close the window when we click outside it.
- jQuery(".ui-widget-overlay").on("click", function () {
- jQuery("div:ui-dialog:visible").dialog("close");
- });
- return false;
-}
-
-// For a dialog containing a form, submit the form via AJAX
-// (to save the data), then reload the page (to display it).
-function modalDialogSubmitAjax(form) {
- jQuery.ajax({
- type: 'POST',
- url: jQuery(form).attr('action'),
- data: jQuery(form).serialize(),
- success: function(response) { window.location.reload(); }
- });
- return false;
-}
-
-function closePopupAndReloadParent(url) {
- if (parent.opener) {
- if (url == null || url == "") {
- parent.opener.location.reload();
- } else {
- parent.opener.location=url;
- }
- }
- window.close();
-}
-
-// variables to hold mouse x-y pos.s
- var msX = 0;
- var msY = 0;
-
-// the following javascript function is for the positioning and hide/show of
-// DIV layers used in the display of the pedigree chart.
-function MM_showHideLayers() { //v6.0
- var i,p,v,obj,args=MM_showHideLayers.arguments;
- for (i=0; i<(args.length-3); i+=4) {
- if ((obj=document.getElementById(args[i]))!=null) {
- if (obj.style) {
- div=obj;
- obj=obj.style;
- }
- v=args[i+2];
- if (v=='toggle') {
- if (obj.visibility.indexOf('hid')!=-1) {
- v='show';
- } else {
- v='hide';
- }
- }
- v=(v=='show')?'visible':(v=='hide')?'hidden':v;
- obj.visibility=v;
- if (args[i+1]=='followmouse') {
- pobj = document.getElementById(args[i+3]);
- if (pobj!=null) {
- if (pobj.style.top!="auto" && args[i+3]!="relatives") {
- obj.top=5+msY-parseInt(pobj.style.top)+'px';
- if (textDirection=="ltr") obj.left=5+msX-parseInt(pobj.style.left)+'px';
- if (textDirection=="rtl") obj.right=5+msX-parseInt(pobj.style.right)+'px';
- } else {
- obj.top="auto";
- pagewidth = document.documentElement.offsetWidth+document.documentElement.scrollLeft;
- if (textDirection=="rtl") pagewidth -= document.documentElement.scrollLeft;
- if (msX > pagewidth-160) msX = msX-150-pobj.offsetLeft;
- contentdiv = document.getElementById("content");
- msX = msX - contentdiv.offsetLeft;
- if (textDirection=="ltr") obj.left=(5+msX)+'px';
- obj.zIndex=1000;
- }
- } else {
- if (WT_SCRIPT_NAME.indexOf("fanchart")>0) {
- obj.top=(msY-20)+'px';
- obj.left=(msX-20)+'px';
- } else if (WT_SCRIPT_NAME.indexOf("index.php")==-1) {
- Xadjust = document.getElementById('content').offsetLeft;
- obj.left=(5+(msX-Xadjust))+'px';
- obj.top="auto";
- } else {
- Xadjust = document.getElementById('content').offsetLeft;
- obj.top=(msY-50)+'px';
- obj.left=(10+(msX-Xadjust))+'px';
- }
- obj.zIndex=1000;
- }
- }
- }
- }
-}
-
-var show = false;
- function togglechildrenbox(pid) {
- if (!pid) pid='';
- else pid = '.'+pid;
- if (show) {
- MM_showHideLayers('childbox'+pid, ' ', 'hide',' ');
- show=false;
- } else {
- MM_showHideLayers('childbox'+pid, ' ', 'show', ' ');
- show=true;
- }
- return false;
- }
-
- var lastfamilybox = "";
- var popupopen = 0;
- function show_family_box(boxid, pboxid) {
- popupopen = 1;
- lastfamilybox=boxid;
- if (pboxid=='relatives') MM_showHideLayers('I'+boxid+'links', 'followmouse', 'show',''+pboxid);
- else {
- famlinks = document.getElementById("I"+boxid+"links");
- divbox = document.getElementById("out-"+boxid);
- parentbox = document.getElementById("box"+boxid);
- if (famlinks && divbox && parentbox) {
- famlinks.style.top = "0px";
- if (textDirection=="ltr") famleft = parseInt(divbox.style.width)+15;
- else famleft = 0;
- if (isNaN(famleft)) {
- famleft = 0;
- famlinks.style.top = parentbox.offsetTop+"px";
- }
- pagewidth = document.documentElement.offsetWidth+document.documentElement.scrollLeft;
- if (textDirection=="rtl") pagewidth -= document.documentElement.scrollLeft;
- if (famleft+parseInt(parentbox.style.left) > pagewidth-100) famleft=25;
- famlinks.style.left = famleft + "px";
- if (WT_SCRIPT_NAME.indexOf("index.php")!=-1) famlinks.style.left = "100%";
- MM_showHideLayers('I'+boxid+'links', ' ', 'show',''+pboxid);
- return;
- }
- MM_showHideLayers('I'+boxid+'links', 'followmouse', 'show',''+pboxid);
- }
- }
-
- function hide_family_box(boxid) {
- MM_showHideLayers('I'+boxid+'links', '', 'hide','');
- popupopen = 0;
- lastfamilybox="";
- }
-
- var timeouts = new Array();
- function family_box_timeout(boxid) {
- tout = setTimeout("hide_family_box('"+boxid+"')", 2500);
- timeouts[boxid] = tout;
- }
-
- function clear_family_box_timeout(boxid) {
- clearTimeout(timeouts[boxid]);
- }
-
- function expand_layer(sid) {
- if (jQuery("#"+sid+"_img").hasClass("icon-plus")) {
- jQuery('#'+sid+"_img").removeClass("icon-plus").addClass("icon-minus");
- jQuery('#'+sid).show("fast");
- } else {
- jQuery('#'+sid+"_img").removeClass("icon-minus").addClass("icon-plus");
- jQuery('#'+sid).hide("fast");
- }
- return false;
- }
-
-// Open the "edit interface" popup window
-function edit_interface(params, windowspecs, pastefield) {
- var features = windowspecs || edit_window_specs;
- var url = 'edit_interface.php?' + jQuery.param(params) + '&ged=' + WT_GEDCOM;
- window.open(url, '_blank', features);
- return false;
-}
-
-function edit_record(xref, fact_id) {
- return edit_interface({
- "action": "edit",
- "xref": xref,
- "fact_id": fact_id
- });
-}
-
-function edit_raw(xref) {
- return edit_interface({
- "action": "editraw",
- "xref": xref
- });
-}
-
-function edit_note(xref) {
- return edit_interface({
- "action": "editnote",
- "xref": xref
- });
-}
-
-function add_record(xref, fact_field) {
- var fact = jQuery('#' + fact_field).val();
- if (fact) {
- if (fact == "OBJE") {
- window.open('addmedia.php?action=showmediaform&linkid=' + encodeURIComponent(xref) + '&ged=' + encodeURIComponent(WT_GEDCOM), '_blank', edit_window_specs);
- } else {
- return edit_interface({
- "action": "add",
- "xref": xref,
- "fact": fact
- });
- }
- }
- return false;
-}
-
-function addClipboardRecord(xref, fact) {
- var factfield = document.getElementById(fact);
- if (factfield) {
- var factvalue = factfield.options[factfield.selectedIndex].value;
- return edit_interface({
- "action": "paste",
- "xref": xref,
- "fact": factvalue.substr(10)
- });
- }
- return false;
-}
-
-function reorder_media(xref) {
- return edit_interface({
- "action": "reorder_media",
- "xref": xref
- }, mord_window_specs);
-}
-
-function add_new_record(xref, fact) {
- return edit_interface({
- "action": "add",
- "xref": xref,
- "fact": fact
- });
-}
-
-// Add a new child to an existing family
-function add_child_to_family(xref, gender) {
- return edit_interface({
- "action": "add_child_to_family",
- "gender": gender,
- "xref": xref
- });
-}
-
-// Add a new child to an existing individual (creating a one-parent family)
-function add_child_to_individual(xref, gender) {
- return edit_interface({
- "action": "add_child_to_individual",
- "gender": gender,
- "xref": xref
- });
-}
-
-// Add a new parent to an existing individual (creating a one-parent family)
-function add_parent_to_individual(xref, gender) {
- return edit_interface({
- "action": "add_parent_to_individual",
- "xref": xref,
- "gender": gender
- });
-}
-
-// Add a new spouse to an existing family
-function add_spouse_to_family(xref, famtag) {
- return edit_interface({
- "action": "add_spouse_to_family",
- "xref": xref,
- "famtag": famtag
- });
-}
-
-function add_unlinked_indi() {
- return edit_interface({
- "action": "add_unlinked_indi",
- });
-}
-
-// Add a new spouse to an existing individual (creating a new family)
-function add_spouse_to_individual(xref, famtag) {
- return edit_interface({
- "action": "add_spouse_to_individual",
- "xref": xref,
- "famtag": famtag
- });
-}
-
-function linkspouse(xref, famtag) {
- return edit_interface({
- "action": "linkspouse",
- "xref": xref,
- "famtag": famtag,
- "famid": "new"
- });
-}
-
-function add_famc(xref) {
- return edit_interface({
- "action": "addfamlink",
- "xref": xref,
- });
-}
-
-function edit_name(xref, fact_id) {
- return edit_interface({
- "action": "editname",
- "xref": xref,
- "fact_id": fact_id
- });
-}
-
-function add_name(xref) {
- return edit_interface({
- "action": "addname",
- "xref": xref
- });
-}
-
-// Accept the changes to a record - and reload the page
-function accept_changes(xref) {
- jQuery.post('action.php', {
- action: 'accept-changes',
- xref: xref,
- ged: WT_GEDCOM,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- return false;
-}
-
-// Reject the changes to a record - and reload the page
-function reject_changes(xref) {
- jQuery.post('action.php', {
- action: 'reject-changes',
- xref: xref,
- ged: WT_GEDCOM,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- return false;
-}
-
-// Delete a family - and reload the page
-function delete_family(message, xref, gedcom) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-family',
- xref: xref,
- ged: typeof gedcom == 'undefined' ? WT_GEDCOM : gedcom,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Delete an individual - and reload the page
-function delete_individual(message, xref, gedcom) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-individual',
- xref: xref,
- ged: typeof gedcom == 'undefined' ? WT_GEDCOM : gedcom,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Delete a media object - and reload the page
-function delete_media(message, xref, gedcom) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-media',
- xref: xref,
- ged: typeof gedcom == 'undefined' ? WT_GEDCOM : gedcom,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Delete a note object - and reload the page
-function delete_note(message, xref, gedcom) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-note',
- xref: xref,
- ged: typeof gedcom == 'undefined' ? WT_GEDCOM : gedcom,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Delete a repository - and reload the page
-function delete_repository(message, xref, gedcom) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-repository',
- xref: xref,
- ged: typeof gedcom == 'undefined' ? WT_GEDCOM : gedcom,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Delete a source - and reload the page
-function delete_source(message, xref, gedcom) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-source',
- xref: xref,
- ged: typeof gedcom == 'undefined' ? WT_GEDCOM : gedcom,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Delete a fact - and reload the page
-function delete_fact(message, xref, fact_id) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-fact',
- xref: xref,
- fact_id: fact_id,
- ged: WT_GEDCOM,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Copy a fact to the clipboard
-function copy_fact(xref, fact_id) {
- jQuery.post('action.php', {
- action: 'copy-fact',
- xref: xref,
- fact_id: fact_id,
- ged: WT_GEDCOM,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- return false;
-}
-
-// Delete a user - and reload the page
-function delete_user(message, user_id) {
- if (confirm(message)) {
- jQuery.post('action.php', {
- action: 'delete-user',
- user_id: user_id,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- }
- return false;
-}
-
-// Masquerade as another user - and reload the page.
-function masquerade(user_id) {
- jQuery.post('action.php', {
- action: 'masquerade',
- user_id: user_id,
- csrf: WT_CSRF_TOKEN
- },
- function(){
- location.reload();
- });
- return false;
-}
-
-function reorder_children(xref) {
- return edit_interface({
- "action": "reorder_children",
- "xref": xref
- });
-}
-
-function reorder_families(xref) {
- return edit_interface({
- "action": "reorder_fams",
- "xref": xref
- });
-}
-
-function reply(username, subject) {
- window.open('message.php?to=' + encodeURIComponent(username) + '&subject=' + encodeURIComponent(subject) + '&ged=' + encodeURIComponent(WT_GEDCOM), '_blank', mesg_window_specs);
- return false;
-}
-
-function delete_message(id) {
- window.open('message.php?action=delete&id=' + encodeURIComponent(id) + '&ged=' + encodeURIComponent(WT_GEDCOM), '_blank', mesg_window_specs);
- return false;
-}
-
-function change_family_members(xref) {
- return edit_interface({
- "action": "changefamily",
- "xref": xref
- });
-}
-
-function addnewsource(field) {
- pastefield=field;
- return edit_interface({
- "action": "addnewsource",
- "xref": "newsour"
- }, null, field);
-}
-
-function addnewrepository(field) {
- pastefield=field;
- return edit_interface({
- "action": "addnewrepository",
- "xref": "newrepo"
- }, null, field);
-}
-
-function addnewnote(field) {
- pastefield=field;
- return edit_interface({
- "action": "addnewnote",
- "noteid": "newnote"
- }, null, field);
-}
-
-function addnewnote_assisted(field, xref) {
- pastefield=field;
- return edit_interface({
- "action": "addnewnote_assisted",
- "noteid": "newnote",
- "xref": xref
- }, assist_window_specs, field);
-}
-
-function addmedia_links(field, iid, iname) {
- pastefield = field;
- insertRowToTable(iid, iname);
- return false;
-}
-
-function valid_date(datefield) {
- var months = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
- var hijri_months = new Array("MUHAR","SAFAR","RABIA","RABIT","JUMAA","JUMAT","RAJAB","SHAAB","RAMAD","SHAWW","DHUAQ","DHUAH");
- var hebrew_months = new Array("TSH","CSH","KSL","TVT","SHV","ADR","ADS","NSN","IYR","SVN","TMZ","AAV","ELL");
- var french_months = new Array("VEND","BRUM","FRIM","NIVO","PLUV","VENT","GERM","FLOR","PRAI","MESS","THER","FRUC","COMP");
- var jalali_months = new Array("FARVA","ORDIB","KHORD","TIR","MORDA","SHAHR","MEHR","ABAN","AZAR","DEY","BAHMA","ESFAN");
-
- var datestr=datefield.value;
- // if a date has a date phrase marked by () this has to be excluded from altering
- var datearr=datestr.split("(");
- var datephrase="";
- if (datearr.length > 1) {
- datestr=datearr[0];
- datephrase=datearr[1];
- }
-
- // Gedcom dates are upper case
- datestr=datestr.toUpperCase();
- // Gedcom dates have no leading/trailing/repeated whitespace
- datestr=datestr.replace(/\s+/, " ");
- datestr=datestr.replace(/(^\s)|(\s$)/, "");
- // Gedcom dates have spaces between letters and digits, e.g. "01JAN2000" => "01 JAN 2000"
- datestr=datestr.replace(/(\d)([A-Z])/, "$1 $2");
- datestr=datestr.replace(/([A-Z])(\d)/, "$1 $2");
-
- // Shortcut for quarter format, "Q1 1900" => "BET JAN 1900 AND MAR 1900". See [ 1509083 ]
- if (datestr.match(/^Q ([1-4]) (\d\d\d\d)$/)) {
- datestr = "BET "+months[RegExp.$1*3-3]+" "+RegExp.$2+" AND "+months[RegExp.$1*3-1]+" "+RegExp.$2;
- }
-
- // Shortcut for @#Dxxxxx@ 01 01 1400, etc.
- if (datestr.match(/^(@#DHIJRI@|HIJRI)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)) {
- datestr = "@#DHIJRI@" + RegExp.$2 + hijri_months[parseInt(RegExp.$3)-1] + RegExp.$4;
- }
- if (datestr.match(/^(@#DJALALI@|JALALI)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)) {
- datestr = "@#DJALALI@" + RegExp.$2 + jalali_months[parseInt(RegExp.$3)-1] + RegExp.$4;
- }
- if (datestr.match(/^(@#DHEBREW@|HEBREW)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)) {
- datestr = "@#DHEBREW@" + RegExp.$2 + hebrew_months[parseInt(RegExp.$3)-1] + RegExp.$4;
- }
- if (datestr.match(/^(@#DFRENCH R@|FRENCH)( \d?\d )(\d?\d)( \d?\d?\d?\d)$/)) {
- datestr = "@#DFRENCH R@" + RegExp.$2 + french_months[parseInt(RegExp.$3)-1] + RegExp.$4;
- }
-
- // e.g. 17.11.1860, 03/04/2005 or 1999-12-31. Use locale settings where DMY order is ambiguous.
- var qsearch = /^([^\d]*)(\d+)[^\d](\d+)[^\d](\d+)$/i;
- if (qsearch.exec(datestr)) {
- var f0=RegExp.$1;
- var f1=parseInt(RegExp.$2);
- var f2=parseInt(RegExp.$3);
- var f3=parseInt(RegExp.$4);
- var f4=RegExp.$5;
- var dmy='DMY';
- if (typeof(locale_date_format)!='undefined')
- if (locale_date_format=='MDY' || locale_date_format=='YMD')
- dmy=locale_date_format;
- var yyyy=new Date().getUTCFullYear();
- var yy=yyyy % 100;
- var cc=yyyy - yy;
- if (dmy=='DMY' && f1<=31 && f2<=12 || f1>13 && f1<=31 && f2<=12 && f3>31)
- datestr=f0+f1+" "+months[f2-1]+" "+(f3>=100?f3:(f3<=yy?f3+cc:f3+cc-100));
- else if (dmy=='MDY' && f1<=12 && f2<=31 || f2>13 && f2<=31 && f1<=12 && f3>31)
- datestr=f0+f2+" "+months[f1-1]+" "+(f3>=100?f3:(f3<=yy?f3+cc:f3+cc-100));
- else if (dmy=='YMD' && f2<=12 && f3<=31 || f3>13 && f3<=31 && f2<=12 && f1>31)
- datestr=f0+f3+" "+months[f2-1]+" "+(f1>=100?f1:(f1<=yy?f1+cc:f1+cc-100));
- }
-
- // Shortcuts for date ranges
- datestr=datestr.replace(/^[>]([\w ]+)$/, "AFT $1");
- datestr=datestr.replace(/^[<]([\w ]+)$/, "BEF $1");
- datestr=datestr.replace(/^([\w ]+)[-]$/, "FROM $1");
- datestr=datestr.replace(/^[-]([\w ]+)$/, "TO $1");
- datestr=datestr.replace(/^[~]([\w ]+)$/, "ABT $1");
- datestr=datestr.replace(/^[*]([\w ]+)$/, "EST $1");
- datestr=datestr.replace(/^[#]([\w ]+)$/, "CAL $1");
- datestr=datestr.replace(/^([\w ]+) ?- ?([\w ]+)$/, "BET $1 AND $2");
- datestr=datestr.replace(/^([\w ]+) ?~ ?([\w ]+)$/, "FROM $1 TO $2");
- if (datestr.match(/^=([\d ()\/+*-]+)$/)) datestr=eval(RegExp.$1);
-
- // Convert full months to short months
- // TODO: also convert long/short months in other languages
- datestr=datestr.replace(/(JANUARY)/, "JAN");
- datestr=datestr.replace(/(FEBRUARY)/, "FEB");
- datestr=datestr.replace(/(MARCH)/, "MAR");
- datestr=datestr.replace(/(APRIL)/, "APR");
- datestr=datestr.replace(/(MAY)/, "MAY");
- datestr=datestr.replace(/(JUNE)/, "JUN");
- datestr=datestr.replace(/(JULY)/, "JUL");
- datestr=datestr.replace(/(AUGUST)/, "AUG");
- datestr=datestr.replace(/(SEPTEMBER)/, "SEP");
- datestr=datestr.replace(/(OCTOBER)/, "OCT");
- datestr=datestr.replace(/(NOVEMBER)/, "NOV");
- datestr=datestr.replace(/(DECEMBER)/, "DEC");
-
- // Americans frequently enter dates as SEP 20, 1999
- // No need to internationalise this, as this is an english-language issue
- datestr=datestr.replace(/(JAN) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(FEB) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(MAR) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(APR) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(MAY) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(JUN) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(JUL) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(AUG) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(SEP) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(OCT) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(NOV) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
- datestr=datestr.replace(/(DEC) (\d\d?)[, ]+(\d\d\d\d)/, "$2 $1 $3");
-
- // Apply leading zero to day numbers
- datestr=datestr.replace(/(^| )(\d [A-Z]{3,5} \d{4})/, "$10$2");
-
- if (datephrase != "") {
- datestr=datestr+" ("+datephrase;
- }
- datefield.value=datestr;
-}
-var oldheight = 0;
-var oldwidth = 0;
-var oldz = 0;
-var oldleft = 0;
-var big = 0;
-var oldboxid = "";
-var oldimgw = 0;
-var oldimgh = 0;
-var oldimgw1 = 0;
-var oldimgh1 = 0;
-var diff = 0;
-var oldfont = 0;
-var oldname = 0;
-var oldthumbdisp = 0;
-var repositioned = 0;
-var oldiconsdislpay = 0;
-var rv =null;
-
-function expandbox(boxid, bstyle) {
- if (big==1) {
- if (clength>0) { // True only if compact chart
- fontdef.style.display='none';
- }
- restorebox(oldboxid, bstyle);
- if (boxid==oldboxid) return true;
- }
-
- jQuery(document).ready(function() {
- clength = jQuery(".compact_view").length;
- });
-
- url = window.location.toString();
- divbox = document.getElementById("out-"+boxid);
- inbox = document.getElementById("inout-"+boxid);
- inbox2 = document.getElementById("inout2-"+boxid);
- parentbox = document.getElementById("box"+boxid);
- if (!parentbox) {
- parentbox=divbox;
- }
- gender = document.getElementById("box-"+boxid+"-gender");
- thumb1 = document.getElementById("box-"+boxid+"-thumb");
- famlinks = document.getElementById("I"+boxid+"links");
- icons = document.getElementById("icons-"+boxid);
- iconz = document.getElementById("iconz-"+boxid); // This is the Zoom icon
-
- if (divbox) {
- if (icons) {
- oldiconsdislpay = icons.style.display;
- icons.style.display = "block";
- }
- if (jQuery(iconz).hasClass("icon-zoomin")) {
- jQuery(iconz).removeClass("icon-zoomin").addClass("icon-zoomout");
- } else {
- jQuery(iconz).removeClass("icon-zoomout").addClass("icon-zoomin");
- }
- oldboxid=boxid;
- big = 1;
- oldheight=divbox.style.height;
- oldwidth=divbox.style.width;
- oldz = parentbox.style.zIndex;
- if (url.indexOf("descendancy.php")==-1) parentbox.style.zIndex='100';
- if (bstyle!=2) {
- divbox.style.width='300px';
- diff = 300-parseInt(oldwidth);
- if (famlinks) {
- famleft = parseInt(famlinks.style.left);
- famlinks.style.left = (famleft+diff)+"px";
- }
- }
- divleft = parseInt(parentbox.style.left);
- if (textDirection=="rtl") divleft = parseInt(parentbox.style.right);
- oldleft=divleft;
- divleft = divleft - diff;
- repositioned = 0;
- if (divleft<0) {
- repositioned = 1;
- divleft=0;
- }
- divbox.style.height='auto';
- if (inbox)
- {
- inbox.style.display='block';
- if ( inbox.innerHTML.indexOf("LOADING")>0 )
- {
- //-- load data from expand_view.php
- var pid = boxid.split(".")[0];
- var oXmlHttp = createXMLHttp();
- oXmlHttp.open("get", "expand_view.php?pid=" + pid, true);
- oXmlHttp.onreadystatechange=function()
- {
- if (oXmlHttp.readyState==4)
- {
- inbox.innerHTML = oXmlHttp.responseText;
- }
- };
- oXmlHttp.send(null);
- }
- } else {
- inbox.style.display='none';
- }
-
- if (inbox2) inbox2.style.display='none';
-
- fontdef = document.getElementById("fontdef-"+boxid);
- if (fontdef) {
- oldfont = fontdef.className;
- fontdef.className = 'detailsZoom';
- fontdef.style.display='block';
- }
- namedef = document.getElementById("namedef-"+boxid);
- if (namedef) {
- oldname = namedef.className;
- namedef.className = 'nameZoom';
- }
- addnamedef = document.getElementById("addnamedef-"+boxid);
- if (addnamedef) {
- oldaddname = addnamedef.className;
- addnamedef.className = 'nameZoom';
- }
- if (thumb1) {
- oldthumbdisp = thumb1.style.display;
- thumb1.style.display='block';
- oldimgw = thumb1.offsetWidth;
- oldimgh = thumb1.offsetHeight;
- if (oldimgw) thumb1.style.width = (oldimgw*2)+"px";
- if (oldimgh) thumb1.style.height = (oldimgh*2)+"px";
- }
- if (gender) {
- oldimgw1 = gender.offsetWidth;
- oldimgh1 = gender.offsetHeight;
- if (oldimgw1) gender.style.width = "15px";
- if (oldimgh1) gender.style.height = "15px";
- }
- }
- return true;
-}
-function createXMLHttp()
-{
- if (typeof XMLHttpRequest != "undefined") {
- return new XMLHttpRequest();
- } else if (window.ActiveXObject) {
- var ARR_XMLHTTP_VERS=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0",
- "MSXML2.XmlHttp.3.0","MSXML2.XmlHttp","Microsoft.XmlHttp"];
-
- for (var i = 0; i < ARR_XMLHTTP_VERS.length; i++)
- {
- try
- {
- var oXmlHttp = new ActiveXObject(ARR_XMLHTTP_VERS[i]);
- return oXmlHttp;
- }
- catch (oError) {;}
- }
- }
- throw new Error("XMLHttp object could not be created.");
-};
-
-function restorebox(boxid, bstyle) {
- divbox = document.getElementById("out-"+boxid);
- inbox = document.getElementById("inout-"+boxid);
- inbox2 = document.getElementById("inout2-"+boxid);
- parentbox = document.getElementById("box"+boxid);
- if (!parentbox) {
- parentbox=divbox;
- }
- thumb1 = document.getElementById("box-"+boxid+"-thumb");
- icons = document.getElementById("icons-"+boxid);
- iconz = document.getElementById("iconz-"+boxid); // This is the Zoom icon
- if (divbox) {
- if (icons) icons.style.display = oldiconsdislpay;
- if (jQuery(iconz).hasClass("icon-zoomin")) {
- jQuery(iconz).removeClass("icon-zoomin").addClass("icon-zoomout");
- } else {
- jQuery(iconz).removeClass("icon-zoomout").addClass("icon-zoomin");
- }
- big = 0;
- if (gender) {
- oldimgw1 = oldimgw1+"px";
- oldimgh1 = oldimgh1+"px";
- gender.style.width = oldimgw1;
- gender.style.height = oldimgh1;
- }
- if (thumb1) {
- oldimgw = oldimgw+"px";
- oldimgh = oldimgh+"px";
- thumb1.style.width = oldimgw;
- thumb1.style.height = oldimgh;
- thumb1.style.display=oldthumbdisp;
- }
- divbox.style.height=oldheight;
- divbox.style.width=oldwidth;
- if (parentbox) {
- parentbox.style.zIndex=oldz;
- }
- if (inbox) inbox.style.display='none';
- if (inbox2) inbox2.style.display='block';
- fontdef = document.getElementById("fontdef-"+boxid);
- if (fontdef) fontdef.className = oldfont;
- namedef = document.getElementById("namedef-"+boxid);
- if (namedef) namedef.className = oldname;
- addnamedef = document.getElementById("addnamedef-"+boxid);
- if (addnamedef) addnamedef.className = oldaddname;
- }
- return true;
-}
-
-var menutimeouts = new Array();
-
-function show_submenu(elementid, parentid, dir) {
- var pagewidth = document.body.scrollWidth+document.documentElement.scrollLeft;
- var element = document.getElementById(elementid);
- if (element && element.style) {
- if (document.all) {
- pagewidth = document.body.offsetWidth;
- } else {
- pagewidth = document.body.scrollWidth+document.documentElement.scrollLeft-55;
- if (textDirection=="rtl") {
- boxright = element.offsetLeft+element.offsetWidth+10;
- }
- }
-
- //-- make sure the submenu is the size of the largest child
- var maxwidth = 0;
- var count = element.childNodes.length;
- for (var i=0; i<count; i++) {
- var child = element.childNodes[i];
- if (child.offsetWidth > maxwidth+5) maxwidth = child.offsetWidth;
- }
- if (element.offsetWidth < maxwidth) {
- element.style.width = maxwidth+"px";
- }
-
- if (dir=="down") {
- var pelement = document.getElementById(parentid);
- if (pelement) {
- element.style.left=pelement.style.left;
- var boxright = element.offsetLeft+element.offsetWidth+10;
- if (boxright > pagewidth) {
- var menuleft = pagewidth-element.offsetWidth;
- element.style.left = menuleft + "px";
- }
- }
- }
- if (dir=="right") {
- var pelement = document.getElementById(parentid);
- if (pelement) {
- if (textDirection=="ltr") {
- var boxleft = pelement.offsetLeft+pelement.offsetWidth-40;
- var boxright = boxleft+element.offsetWidth+10;
- if (boxright > pagewidth) {
- element.style.right = pelement.offsetLeft + "px";
- } else {
- element.style.left=boxleft+"px";
- }
- } else {
- element.style.left = (pelement.offsetLeft-element.offsetWidth)+"px";
- }
- element.style.top = pelement.offsetTop+"px";
- }
- }
-
- if (element.offsetLeft < 0) element.style.left = "0px";
-
- //-- put scrollbars on really long menus
- if (element.offsetHeight > 500) {
- element.style.height = '400px';
- element.style.overflow = 'auto';
- }
-
- element.style.visibility='visible';
- }
- clearTimeout(menutimeouts[elementid]);
- menutimeouts[elementid] = null;
-}
-
-function hide_submenu(elementid) {
-if (menutimeouts[elementid] != null) {
- element = document.getElementById(elementid);
- if (element && element.style) {
- element.style.visibility='hidden';
- }
- clearTimeout(menutimeouts[elementid]);
- menutimeouts[elementid] = null;
-}
-}
-
-function timeout_submenu(elementid) {
- if (menutimeouts[elementid] == null) {
- tout = setTimeout("hide_submenu('"+elementid+"')", 100);
- menutimeouts[elementid] = tout;
- }
-}
-function focusHandler(evt) {
- var e = evt ? evt : window.event;
- if (!e) return;
- if (e.target)
- pastefield = e.target;
- else if(e.srcElement) pastefield = e.srcElement;
-}
-
-function loadHandler() {
- var i, j;
-
- for (i = 0; i < document.forms.length; i++)
- for (j = 0; j < document.forms[i].elements.length; j++) {
- if (document.forms[i].elements[j].type=="text") {
- if (document.forms[i].elements[j].onfocus==null) document.forms[i].elements[j].onfocus = focusHandler;
- }
- }
-}
-
-function statusDisable(sel) {
- var cbox = document.getElementById(sel);
- cbox.checked = false;
- cbox.disabled = true;
-}
-
-function statusEnable(sel) {
- var cbox = document.getElementById(sel);
- cbox.disabled = false;
-}
-
-function statusChecked(sel) {
- var cbox = document.getElementById(sel);
- cbox.checked = true;
-}
-
-var monthLabels = new Array();
-monthLabels[1] = "January";
-monthLabels[2] = "February";
-monthLabels[3] = "March";
-monthLabels[4] = "April";
-monthLabels[5] = "May";
-monthLabels[6] = "June";
-monthLabels[7] = "July";
-monthLabels[8] = "August";
-monthLabels[9] = "September";
-monthLabels[10] = "October";
-monthLabels[11] = "November";
-monthLabels[12] = "December";
-
-var monthShort = new Array();
-monthShort[1] = "JAN";
-monthShort[2] = "FEB";
-monthShort[3] = "MAR";
-monthShort[4] = "APR";
-monthShort[5] = "MAY";
-monthShort[6] = "JUN";
-monthShort[7] = "JUL";
-monthShort[8] = "AUG";
-monthShort[9] = "SEP";
-monthShort[10] = "OCT";
-monthShort[11] = "NOV";
-monthShort[12] = "DEC";
-
-var daysOfWeek = new Array();
-daysOfWeek[0] = "S";
-daysOfWeek[1] = "M";
-daysOfWeek[2] = "T";
-daysOfWeek[3] = "W";
-daysOfWeek[4] = "T";
-daysOfWeek[5] = "F";
-daysOfWeek[6] = "S";
-
-var weekStart = 0;
-
-function cal_setMonthNames(jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec) {
- monthLabels[1] = jan;
- monthLabels[2] = feb;
- monthLabels[3] = mar;
- monthLabels[4] = apr;
- monthLabels[5] = may;
- monthLabels[6] = jun;
- monthLabels[7] = jul;
- monthLabels[8] = aug;
- monthLabels[9] = sep;
- monthLabels[10] = oct;
- monthLabels[11] = nov;
- monthLabels[12] = dec;
-}
-
-function cal_setDayHeaders(sun, mon, tue, wed, thu, fri, sat) {
- daysOfWeek[0] = sun;
- daysOfWeek[1] = mon;
- daysOfWeek[2] = tue;
- daysOfWeek[3] = wed;
- daysOfWeek[4] = thu;
- daysOfWeek[5] = fri;
- daysOfWeek[6] = sat;
-}
-
-function cal_setWeekStart(day) {
- if (day >=0 && day < 7) weekStart = day;
-}
-
-function cal_toggleDate(dateDivId, dateFieldId) {
- var dateDiv = document.getElementById(dateDivId);
- if (!dateDiv) return false;
-
- if (dateDiv.style.visibility=='visible') {
- dateDiv.style.visibility = 'hidden';
- return false;
- }
- if (dateDiv.style.visibility=='show') {
- dateDiv.style.visibility = 'hide';
- return false;
- }
-
- var dateField = document.getElementById(dateFieldId);
- if (!dateField) return false;
-
- /* Javascript calendar functions only work with precise gregorian dates "D M Y" or "Y" */
- var greg_regex = /((\d+ (JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC) )?\d+)/;
- if (greg_regex.exec(dateField.value)) {
- var date = new Date(RegExp.$1);
- } else {
- var date = new Date();
- }
-
- dateDiv.innerHTML = cal_generateSelectorContent(dateFieldId, dateDivId, date);
- if (dateDiv.style.visibility=='hidden') {
- dateDiv.style.visibility = 'visible';
- return false;
- }
- if (dateDiv.style.visibility=='hide') {
- dateDiv.style.visibility = 'show';
- return false;
- }
- return false;
-}
-
-function cal_generateSelectorContent(dateFieldId, dateDivId, date) {
- var content = '<table border="1"><tr>';
- content += '<td><select name="'+dateFieldId+'_daySelect" id="'+dateFieldId+'_daySelect" onchange="return cal_updateCalendar(\''+dateFieldId+'\', \''+dateDivId+'\');">';
- for (i=1; i<32; i++) {
- content += '<option value="'+i+'"';
- if (date.getUTCDate()==i) content += ' selected="selected"';
- content += '>'+i+'</option>';
- }
- content += '</select></td>';
- content += '<td><select name="'+dateFieldId+'_monSelect" id="'+dateFieldId+'_monSelect" onchange="return cal_updateCalendar(\''+dateFieldId+'\', \''+dateDivId+'\');">';
- for (i=1; i<13; i++) {
- content += '<option value="'+i+'"';
- if (date.getUTCMonth()+1==i) content += ' selected="selected"';
- content += '>'+monthLabels[i]+'</option>';
- }
- content += '</select></td>';
- content += '<td><input type="text" name="'+dateFieldId+'_yearInput" id="'+dateFieldId+'_yearInput" size="5" value="'+date.getUTCFullYear()+'" onchange="return cal_updateCalendar(\''+dateFieldId+'\', \''+dateDivId+'\');" /></td></tr>';
- content += '<tr><td colspan="3">';
- content += '<table width="100%">';
- content += '<tr>';
- j = weekStart;
- for (i=0; i<7; i++) {
- content += '<td ';
- content += 'class="descriptionbox"';
- content += '>';
- content += daysOfWeek[j];
- content += '</td>';
- j++;
- if (j>6) j=0;
- }
- content += '</tr>';
-
- var tdate = new Date(date.getUTCFullYear(), date.getUTCMonth(), 1);
- var day = tdate.getUTCDay();
- day = day - weekStart;
- var daymilli = (1000*60*60*24);
- tdate = tdate.getTime() - (day*daymilli) + (daymilli/2);
- tdate = new Date(tdate);
-
- for (j=0; j<6; j++) {
- content += '<tr>';
- for (i=0; i<7; i++) {
- content += '<td ';
- if (tdate.getUTCMonth()==date.getUTCMonth()) {
- if (tdate.getUTCDate()==date.getUTCDate()) content += 'class="descriptionbox"';
- else content += 'class="optionbox"';
- }
- else content += 'style="background-color:#EAEAEA; border: solid #AAAAAA 1px;"';
- content += '><a href="#" onclick="return cal_dateClicked(\''+dateFieldId+'\', \''+dateDivId+'\', '+tdate.getUTCFullYear()+', '+tdate.getUTCMonth()+', '+tdate.getUTCDate()+');">';
- content += tdate.getUTCDate();
- content += '</a></td>';
- datemilli = tdate.getTime() + daymilli;
- tdate = new Date(datemilli);
- }
- content += '</tr>';
- }
- content += '</table>';
- content += '</td></tr>';
- content += '</table>';
-
- return content;
-}
-
-function cal_setDateField(dateFieldId, year, month, day) {
- var dateField = document.getElementById(dateFieldId);
- if (!dateField) return false;
- if (day<10) day = "0"+day;
- dateField.value = day+' '+monthShort[month+1]+' '+year;
- return false;
-}
-
-function cal_updateCalendar(dateFieldId, dateDivId) {
- var dateSel = document.getElementById(dateFieldId+'_daySelect');
- if (!dateSel) return false;
- var monthSel = document.getElementById(dateFieldId+'_monSelect');
- if (!monthSel) return false;
- var yearInput = document.getElementById(dateFieldId+'_yearInput');
- if (!yearInput) return false;
-
- var month = parseInt(monthSel.options[monthSel.selectedIndex].value);
- month = month-1;
-
- var date = new Date(yearInput.value, month, dateSel.options[dateSel.selectedIndex].value);
- if (!date) alert('Date error '+date);
- cal_setDateField(dateFieldId, date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
-
- var dateDiv = document.getElementById(dateDivId);
- if (!dateDiv) {
- alert('no dateDiv '+dateDivId);
- return false;
- }
- dateDiv.innerHTML = cal_generateSelectorContent(dateFieldId, dateDivId, date);
-
- return false;
-}
-
-function cal_dateClicked(dateFieldId, dateDivId, year, month, day) {
- cal_setDateField(dateFieldId, year, month, day);
- cal_toggleDate(dateDivId, dateFieldId);
- return false;
-}
-
-function findIndi(field, indiname, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- nameElement = indiname;
- window.open('find.php?type=indi&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function findPlace(field, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- window.open('find.php?type=place&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function findFamily(field, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- window.open('find.php?type=fam&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function findMedia(field, choose, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- if (!choose) choose="0all";
- window.open('find.php?type=media&choose=' + encodeURIComponent(choose) + '&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function findSource(field, sourcename, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- nameElement = sourcename;
- window.open('find.php?type=source&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function findnote(field, notename, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- nameElement = notename;
- window.open('find.php?type=note&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function findRepository(field, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- window.open('find.php?type=repo&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function findSpecialChar(field) {
- pastefield = field;
- window.open('find.php?type=specialchar', '_blank', find_window_specs);
- return false;
-}
-
-function findFact(field, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- pastefield = field;
- tags = field.value;
- window.open('find.php?type=facts&tags=' + encodeURIComponent(tags) + '&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function ilinkitem(mediaid, type, ged) {
- ged = (typeof ged === 'undefined') ? WT_GEDCOM : ged;
- window.open('inverselink.php?mediaid=' + encodeURIComponent(mediaid) + '&linkto=' + encodeURIComponent(type) + '&ged=' + encodeURIComponent(ged), '_blank', find_window_specs);
- return false;
-}
-
-function message(username, method, url) {
- window.open('message.php?to=' + encodeURIComponent(username) + '&method=' + encodeURIComponent(method) + '&url=' + encodeURIComponent(url), '_blank', mesg_window_specs);
- return false;
-}
-
-function valid_lati_long(field, pos, neg) {
- // valid LATI or LONG according to Gedcom standard
- // pos (+) : N or E
- // neg (-) : S or W
- txt=field.value.toUpperCase();
- txt=txt.replace(/(^\s*)|(\s*$)/g, ''); // trim
- txt=txt.replace(/ /g, ':'); // N12 34 ==> N12.34
- txt=txt.replace(/\+/g, ''); // +17.1234 ==> 17.1234
- txt=txt.replace(/-/g, neg); // -0.5698 ==> W0.5698
- txt=txt.replace(/,/g, '.'); // 0,5698 ==> 0.5698
- // 0°34'11 ==> 0:34:11
- txt=txt.replace(/\uB0/g, ':'); // °
- txt=txt.replace(/\u27/g, ':'); // '
- // 0:34:11.2W ==> W0.5698
- txt=txt.replace(/^([0-9]+):([0-9]+):([0-9.]+)(.*)/g, function($0, $1, $2, $3, $4) { var n=parseFloat($1); n+=($2/60); n+=($3/3600); n=Math.round(n*1E4)/1E4; return $4+n; });
- // 0:34W ==> W0.5667
- txt=txt.replace(/^([0-9]+):([0-9]+)(.*)/g, function($0, $1, $2, $3) { var n=parseFloat($1); n+=($2/60); n=Math.round(n*1E4)/1E4; return $3+n; });
- // 0.5698W ==> W0.5698
- txt=txt.replace(/(.*)([N|S|E|W]+)$/g, '$2$1');
- // 17.1234 ==> N17.1234
- if (txt!='' && txt.charAt(0)!=neg && txt.charAt(0)!=pos) txt=pos+txt;
- field.value = txt;
-}
-
-
-// This is the default way for webtrees to show image galleries.
-// Custom themes may use a different viewer.
-function activate_colorbox(config) {
- jQuery.extend(jQuery.colorbox.settings, {
- // Don't scroll window with document
- fixed: true,
- // Simple I18N - the text will need to come from PHP
- current: '',
- previous: textDirection=='ltr' ? '◀' : '▶',
- next: textDirection=='ltr' ? '▶' : '◀',
- slideshowStart: '○',
- slideshowStop: '●',
- close: '×'
- });
- if (config) {
- jQuery.extend(jQuery.colorbox.settings, config);
- }
-
- // Trigger an event when we click on an (any) image
- jQuery('body').on('click', 'a.gallery', function(event) {
- // Remove colorbox from hidden media (e.g. on other tabs)
- // (not needed unless we add :visible to our selectors - which may not
- // work on all browsers?)
- //jQuery.colorbox.remove();
-
- // Enable colorbox for images
- jQuery('a[type^=image].gallery').colorbox({
- photo: true,
- maxWidth: '95%',
- maxHeight: '95%',
- rel: 'gallery', // Turn all images on the page into a slideshow
- slideshow: true,
- slideshowAuto: false,
- // Add wheelzoom to the displayed image
- onComplete: function() {
- jQuery('.cboxPhoto').wheelzoom();
- // Drag events cause the slideshow to advance. Prevent this.
- // TODO - only when the click was the end of a drag..
- jQuery('.cboxPhoto img').on('click', function(e) {e.preventDefault();});
- }
- });
-
- // Enable colorbox for audio using <audio></audio>, where supported
- //jQuery('html.video a[type^=video].gallery').colorbox({
- // rel: 'nofollow' // Slideshows are just for images
- //});
-
- // Enable colorbox for video using <video></video>, where supported
- //jQuery('html.audio a[type^=audio].gallery').colorbox({
- // rel: 'nofollow', // Slideshows are just for images
- //});
-
- // Allow all other media types remain as download links
- });
-}