diff --git a/htdocs/core/js/editinplace.js b/htdocs/core/js/editinplace.js index 557ae18b47a..32ef01985a9 100644 --- a/htdocs/core/js/editinplace.js +++ b/htdocs/core/js/editinplace.js @@ -1,10 +1,25 @@ // Copyright (C) 2011 Regis Houssin +// Copyright (C) 2009 Laurent Destailleur // -// Script javascript that contains functions for edit in place +// 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, see . +// or see http://www.gnu.org/ +// + // // \file htdocs/core/js/editinplace.js // \brief File that include javascript functions for edit in place - +// $(document).ready(function() { var element = $('#jeditable_element').html(); diff --git a/htdocs/core/js/jnotify.js b/htdocs/core/js/jnotify.js index 18673c8d17a..6122b81c425 100644 --- a/htdocs/core/js/jnotify.js +++ b/htdocs/core/js/jnotify.js @@ -1,10 +1,25 @@ -// Copyright (C) 2011 Regis Houssin +// Copyright (C) 2011 Regis Houssin +// Copyright (C) 2009 Laurent Destailleur // -// Script javascript that contains functions for jnotify default options +// 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, see . +// or see http://www.gnu.org/ +// + // // \file htdocs/core/js/jnotify.js // \brief File that include javascript functions for jnotify default options - +// $(document).ready(function() { $.jnotify.setup({ diff --git a/htdocs/core/js/lib_calendar.js b/htdocs/core/js/lib_calendar.js deleted file mode 100755 index 48f2d193f4b..00000000000 --- a/htdocs/core/js/lib_calendar.js +++ /dev/null @@ -1,911 +0,0 @@ -// -// JavaScript Calendar Component -// Author: Robert W. Husted (robert.husted@iname.com) -// Date: 8/22/1999 -// Modified Date: 11/30/1999 -// Modified By: Robert W. Husted -// Notes: Added frameset support (changed reference for "newWin" to "top.newWin") -// Also changed Spanish "March" from "Marcha" to "Marzo" -// Fixed JavaScript Date Anomaly affecting days > 28 -// -// -// -// Usage: Add the following lines of code to your page to enable the Calendar -// component. -// -// -// // THIS LINE LOADS THE JS LIBRARY FOR THE CALENDAR COMPONENT -// -// -// -// -// -// // THIS LINE IS USED IN CONJUNCTION WITH A FORM FIELD (myDateField) IN A FORM (myForm). -// // Replace "myForm" and "myDateField" WITH THE NAME OF YOUR FORM AND INPUT FIELD RESPECTIVELY -// // WINDOW OPTIONS SET THE WIDTH, HEIGHT, AND X/Y POSITION OF THE CALENDAR WINDOW -// // WITH TITLEBAR ON, ALL OTHER OPTIONS (TOOLBARS, ETC) ARE DISABLED BY DEFAULT -// -// -// Popup Calendar -// -// -// -// Required Files: -// -// calendar.js - contains all JavaScript functions to make the calendar work -// -// calendar.html - frameset document (not required if you call the showCalendar() -// function. However, calling showCalendar() directly causes -// the Java Virtual Machine (JVM) to start which slows down the -// loading of the calendar.) -// -// -// Files Generally Included: -// -// calendar.gif - image that looks like a little calendar -// -// yourPage.html - page that contains a form and a date field which implements -// the calendar component -// - - - -// BEGIN USER-EDITABLE SECTION ----------------------------------------------------- - - - -// SPECIFY DATE FORMAT RETURNED BY THIS CALENDAR -// (THIS IS ALSO THE DATE FORMAT RECOGNIZED BY THIS CALENDAR) - -// DATE FORMAT OPTIONS: -// -// dd = 1 or 2-digit Day -// DD = 2-digit Day -// mm = 1 or 2-digit Month -// MM = 2-digit Month -// yy = 2-digit Year -// YY = 4-digit Year -// yyyy = 4-digit Year -// month = Month name in lowercase letters -// Month = Month name in initial caps -// MONTH = Month name in captital letters -// mon = 3-letter month abbreviation in lowercase letters -// Mon = 3-letter month abbreviation in initial caps -// MON = 3-letter month abbreviation in uppercase letters -// weekday = name of week in lowercase letters -// Weekday = name of week in initial caps -// WEEKDAY = name of week in uppercase letters -// wkdy = 3-letter weekday abbreviation in lowercase letters -// Wkdy = 3-letter weekday abbreviation in initial caps -// WKDY = 3-letter weekday abbreviation in uppercase letters -// -// Examples: -// -// calDateFormat = "mm/dd/yy"; -// calDateFormat = "Weekday, Month dd, yyyy"; -// calDateFormat = "wkdy, mon dd, yyyy"; -// calDateFormat = "DD.MM.YY"; // FORMAT UNSUPPORTED BY JAVASCRIPT -- REQUIRES CUSTOM PARSING -// - -calDateFormat = "dd/mm/yyyy"; - - -// CALENDAR COLORS -topBackground = "#dee7ec"; // BG COLOR OF THE TOP FRAME -bottomBackground = "white"; // BG COLOR OF THE BOTTOM FRAME -tableBGColor = "#7699A9"; // BG COLOR OF THE BOTTOM FRAME'S TABLE -cellColor = "lightgrey"; // TABLE CELL BG COLOR OF THE DATE CELLS IN THE BOTTOM FRAME -headingCellColor = "white"; // TABLE CELL BG COLOR OF THE WEEKDAY ABBREVIATIONS -headingTextColor = "black"; // TEXT COLOR OF THE WEEKDAY ABBREVIATIONS -dateColor = "black"; // TEXT COLOR OF THE LISTED DATES (1-28+) -focusColor = "#ff0000"; // TEXT COLOR OF THE SELECTED DATE (OR CURRENT DATE) -hoverColor = "darkred"; // TEXT COLOR OF A LINK WHEN YOU HOVER OVER IT -fontStyle = "10pt arial,tahoma,verdana,helvetica;"; // TEXT STYLE FOR DATES -headingFontStyle = "bold 12pt arial, helvetica"; // TEXT STYLE FOR WEEKDAY ABBREVIATIONS - -// FORMATTING PREFERENCES -bottomBorder = false; // TRUE/FALSE (WHETHER TO DISPLAY BOTTOM CALENDAR BORDER) -tableBorder = 0; // SIZE OF CALENDAR TABLE BORDER (BOTTOM FRAME) 0=none - - - -// END USER-EDITABLE SECTION ------------------------------------------------------- - - - -// DETERMINE BROWSER BRAND -var isNav = false; -var isIE = false; - -// ASSUME IT'S EITHER NETSCAPE OR MSIE -if (navigator.appName == "Netscape") { - isNav = true; -} -else { - isIE = true; -} - -// GET CURRENTLY SELECTED LANGUAGE -// selectedLanguage = navigator.language; -if(selectedLanguage == "") - selectedLanguage = navigator.language; - -// PRE-BUILD PORTIONS OF THE CALENDAR WHEN THIS JS LIBRARY LOADS INTO THE BROWSER -buildCalParts(); - - - -// CALENDAR FUNCTIONS BEGIN HERE --------------------------------------------------- - - - -// SET THE INITIAL VALUE OF THE GLOBAL DATE FIELD -function setDateField(dateField) { - - // ASSIGN THE INCOMING FIELD OBJECT TO A GLOBAL VARIABLE - calDateField = dateField; - - // GET THE VALUE OF THE INCOMING FIELD - inDate = dateField.value; - // SET calDate TO THE DATE IN THE INCOMING FIELD OR DEFAULT TO TODAY'S DATE - setInitialDate(); - - // THE CALENDAR FRAMESET DOCUMENTS ARE CREATED BY JAVASCRIPT FUNCTIONS - calDocTop = buildTopCalFrame(); - calDocBottom = buildBottomCalFrame(); -} - - -// SET THE INITIAL CALENDAR DATE TO TODAY OR TO THE EXISTING VALUE IN dateField -function setInitialDate() { - - // CREATE A NEW DATE OBJECT (WILL GENERALLY PARSE CORRECT DATE EXCEPT WHEN "." IS USED AS A DELIMITER) - // (THIS ROUTINE DOES *NOT* CATCH ALL DATE FORMATS, IF YOU NEED TO PARSE A CUSTOM DATE FORMAT, DO IT HERE) - - if(inDate.indexOf("/") > -1) - { - inDate = inDate.split("/"); - if(inDate[1].indexOf("0") > -1) - inDate[1] = inDate[1].replace("0",""); - if(inDate[0].indexOf("0") > -1) - inDate[0] = inDate[0].replace("0",""); - calDate = new Date(inDate[2],inDate[1]-1,inDate[0]); - } - else - calDate = new Date(inDate); - - // IF THE INCOMING DATE IS INVALID, USE THE CURRENT DATE - if (isNaN(calDate)) { - - // ADD CUSTOM DATE PARSING HERE - // IF IT FAILS, SIMPLY CREATE A NEW DATE OBJECT WHICH DEFAULTS TO THE CURRENT DATE - calDate = new Date(); - } - - // KEEP TRACK OF THE CURRENT DAY VALUE - calDay = calDate.getDate(); - - // SET DAY VALUE TO 1... TO AVOID JAVASCRIPT DATE CALCULATION ANOMALIES - // (IF THE MONTH CHANGES TO FEB AND THE DAY IS 30, THE MONTH WOULD CHANGE TO MARCH - // AND THE DAY WOULD CHANGE TO 2. SETTING THE DAY TO 1 WILL PREVENT THAT) - calDate.setDate(1); -} - - -// POPUP A WINDOW WITH THE CALENDAR IN IT -function showCalendar(dateField) { - - // SET INITIAL VALUE OF THE DATE FIELD AND CREATE TOP AND BOTTOM FRAMES - setDateField(dateField); - - // USE THE JAVASCRIPT-GENERATED DOCUMENTS (calDocTop, calDocBottom) IN THE FRAMESET - calDocFrameset = - "JavaScript Calendar\n" + - "\n" + - " \n" + - " \n" + - "\n"; - - // DISPLAY THE CALENDAR IN A NEW POPUP WINDOW - l= eval(screen.width / 2); - h=eval(screen.height / 2); - top.newWin = window.open("javascript:parent.opener.calDocFrameset", "calWin", 'directories=no,menubar=no,status=no,location=no,scrollbars=yes,resizable=yes,height=234,width=194,left='+l+'px,top='+h+'px'); - top.newWin.focus(); - -} - - -// CREATE THE TOP CALENDAR FRAME -function buildTopCalFrame() { - var today_trans = "Today"; - // CREATE THE TOP FRAME OF THE CALENDAR - if (selectedLanguage == "fr") - today_trans = "Aujourd'hui"; - // IF GREMAN - else if (selectedLanguage == "de") - today_trans = "Heute "; - // IF SPANISH - else if (selectedLanguage == "es") - today_trans = "Hoy "; - var calDoc = - "" + - "" + - "" + - "" + - "" + - - "
" + - "" + - "" + - "" + - "" + - "" + - "" + - "
" + - "
" + - "
" + - getMonthSelect() + - "" + - "
" + - "
" + - "" + - "" + - "
" + - "
" + - - "" + - ""; - - return calDoc; -} - - -// CREATE THE BOTTOM CALENDAR FRAME -// (THE MONTHLY CALENDAR) -function buildBottomCalFrame() { - - // START CALENDAR DOCUMENT - var calDoc = calendarBegin; - - // GET MONTH, AND YEAR FROM GLOBAL CALENDAR DATE - month = calDate.getMonth(); - year = calDate.getFullYear(); - - - // GET GLOBALLY-TRACKED DAY VALUE (PREVENTS JAVASCRIPT DATE ANOMALIES) - day = calDay; - - var i = 0; - - // DETERMINE THE NUMBER OF DAYS IN THE CURRENT MONTH - var days = getDaysInMonth(); - - // IF GLOBAL DAY VALUE IS > THAN DAYS IN MONTH, HIGHLIGHT LAST DAY IN MONTH - if (day > days) { - day = days; - } - - // DETERMINE WHAT DAY OF THE WEEK THE CALENDAR STARTS ON - var firstOfMonth = new Date (year, month, 1); - - // GET THE DAY OF THE WEEK THE FIRST DAY OF THE MONTH FALLS ON - var startingPos = firstOfMonth.getDay(); - days += startingPos; - - // KEEP TRACK OF THE COLUMNS, START A NEW ROW AFTER EVERY 7 COLUMNS - var columnCount = 0; - - // MAKE BEGINNING NON-DATE CELLS BLANK - for (i = 0; i < startingPos; i++) { - - calDoc += blankCell; - columnCount++; - } - - // SET VALUES FOR DAYS OF THE MONTH - var currentDay = 0; - var dayType = "weekday"; - - // DATE CELLS CONTAIN A NUMBER - for (i = startingPos; i < days; i++) { - - var paddingChar = " "; - - // ADJUST SPACING SO THAT ALL LINKS HAVE RELATIVELY EQUAL WIDTHS - if (i-startingPos+1 < 10) { - padding = "  "; - } - else { - padding = " "; - } - - // GET THE DAY CURRENTLY BEING WRITTEN - currentDay = i-startingPos+1; - - // SET THE TYPE OF DAY, THE focusDay GENERALLY APPEARS AS A DIFFERENT COLOR - if (currentDay == day) { - dayType = "focusDay"; - } - else { - dayType = "weekDay"; - } - - // ADD THE DAY TO THE CALENDAR STRING - calDoc += "" + - "" + padding + currentDay + paddingChar + ""; - - columnCount++; - - // START A NEW ROW WHEN NECESSARY - if (columnCount % 7 == 0) { - calDoc += ""; - } - } - - // MAKE REMAINING NON-DATE CELLS BLANK - for (i=days; i<42; i++) { - - calDoc += blankCell; - columnCount++; - - // START A NEW ROW WHEN NECESSARY - if (columnCount % 7 == 0) { - calDoc += ""; - if (i<41) { - calDoc += ""; - } - } - } - - // FINISH THE NEW CALENDAR PAGE - calDoc += calendarEnd; - - // RETURN THE COMPLETED CALENDAR PAGE - return calDoc; -} - - -// WRITE THE MONTHLY CALENDAR TO THE BOTTOM CALENDAR FRAME -function writeCalendar() { - - // CREATE THE NEW CALENDAR FOR THE SELECTED MONTH & YEAR - calDocBottom = buildBottomCalFrame(); - - // WRITE THE NEW CALENDAR TO THE BOTTOM FRAME - top.newWin.frames['bottomCalFrame'].document.open(); - top.newWin.frames['bottomCalFrame'].document.write(calDocBottom); - top.newWin.frames['bottomCalFrame'].document.close(); -} - - -// SET THE CALENDAR TO TODAY'S DATE AND DISPLAY THE NEW CALENDAR -function setToday() { - - // SET GLOBAL DATE TO TODAY'S DATE - calDate = new Date(); - - // SET DAY MONTH AND YEAR TO TODAY'S DATE - var month = calDate.getMonth(); - var year = calDate.getFullYear(); - - // SET MONTH IN DROP-DOWN LIST - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - - // SET YEAR VALUE - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - - - // DISPLAY THE NEW CALENDAR - writeCalendar(); -} - - -// SET THE GLOBAL DATE TO THE NEWLY ENTERED YEAR AND REDRAW THE CALENDAR -function setYear() { - - // GET THE NEW YEAR VALUE - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - // IF IT'S A FOUR-DIGIT YEAR THEN CHANGE THE CALENDAR - if (isFourDigitYear(year)) { - calDate.setFullYear(year); - writeCalendar(); - } - else { - // HIGHLIGHT THE YEAR IF THE YEAR IS NOT FOUR DIGITS IN LENGTH - top.newWin.frames['topCalFrame'].document.calControl.year.focus(); - top.newWin.frames['topCalFrame'].document.calControl.year.select(); - } -} - - -// SET THE GLOBAL DATE TO THE SELECTED MONTH AND REDRAW THE CALENDAR -function setCurrentMonth() { - - // GET THE NEWLY SELECTED MONTH AND CHANGE THE CALENDAR ACCORDINGLY - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - calDate.setMonth(month); - writeCalendar(); -} - - -// SET THE GLOBAL DATE TO THE PREVIOUS YEAR AND REDRAW THE CALENDAR -function setPreviousYear() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - if (isFourDigitYear(year) && year > 1000) { - year--; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE PREVIOUS MONTH AND REDRAW THE CALENDAR -function setPreviousMonth() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - if (isFourDigitYear(year)) { - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - // IF MONTH IS JANUARY, SET MONTH TO DECEMBER AND DECREMENT THE YEAR - if (month == 0) { - month = 11; - if (year > 1000) { - year--; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - } - } - else { - month--; - } - calDate.setMonth(month); - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE NEXT MONTH AND REDRAW THE CALENDAR -function setNextMonth() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - - if (isFourDigitYear(year)) { - var month = top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex; - - // IF MONTH IS DECEMBER, SET MONTH TO JANUARY AND INCREMENT THE YEAR - if (month == 11) { - month = 0; - year++; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - } - else { - month++; - } - calDate.setMonth(month); - top.newWin.frames['topCalFrame'].document.calControl.month.selectedIndex = month; - writeCalendar(); - } -} - - -// SET THE GLOBAL DATE TO THE NEXT YEAR AND REDRAW THE CALENDAR -function setNextYear() { - - var year = top.newWin.frames['topCalFrame'].document.calControl.year.value; - if (isFourDigitYear(year)) { - year++; - calDate.setFullYear(year); - top.newWin.frames['topCalFrame'].document.calControl.year.value = year; - writeCalendar(); - } -} - - -// GET NUMBER OF DAYS IN MONTH -function getDaysInMonth() { - - var days; - var month = calDate.getMonth()+1; - var year = calDate.getFullYear(); - - // RETURN 31 DAYS - if (month==1 || month==3 || month==5 || month==7 || month==8 || - month==10 || month==12) { - days=31; - } - // RETURN 30 DAYS - else if (month==4 || month==6 || month==9 || month==11) { - days=30; - } - // RETURN 29 DAYS - else if (month==2) { - if (isLeapYear(year)) { - days=29; - } - // RETURN 28 DAYS - else { - days=28; - } - } - return (days); -} - - -// CHECK TO SEE IF YEAR IS A LEAP YEAR -function isLeapYear (Year) { - - if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) { - return (true); - } - else { - return (false); - } -} - - -// ENSURE THAT THE YEAR IS FOUR DIGITS IN LENGTH -function isFourDigitYear(year) { - - if (year.length != 4) { - top.newWin.frames['topCalFrame'].document.calControl.year.value = calDate.getFullYear(); - top.newWin.frames['topCalFrame'].document.calControl.year.select(); - top.newWin.frames['topCalFrame'].document.calControl.year.focus(); - } - else { - return true; - } -} - - -// BUILD THE MONTH SELECT LIST -function getMonthSelect() { - - // BROWSER LANGUAGE CHECK DONE PREVIOUSLY (navigator.language()) - // FIRST TWO CHARACTERS OF LANGUAGE STRING SPECIFIES THE LANGUAGE - // (THE LAST THREE OPTIONAL CHARACTERS SPECIFY THE LANGUAGE SUBTYPE) - // SET THE NAMES OF THE MONTH TO THE PROPER LANGUAGE (DEFAULT TO ENGLISH) - - // IF FRENCH - if (selectedLanguage == "fr") { - monthArray = new Array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', - 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); - } - // IF GERMAN - else if (selectedLanguage == "de") { - monthArray = new Array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'); - } - // IF SPANISH - else if (selectedLanguage == "es") { - monthArray = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', - 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'); - } - // DEFAULT TO ENGLISH - else { - monthArray = new Array('January', 'February', 'March', 'April', 'May', 'June', - 'July', 'August', 'September', 'October', 'November', 'December'); - } - - // DETERMINE MONTH TO SET AS DEFAULT - var activeMonth = calDate.getMonth(); - - // START HTML SELECT LIST ELEMENT - monthSelect = "