diff options
author | Unrud <unrud@openaliasbox.org> | 2017-06-04 17:16:11 +0200 |
---|---|---|
committer | Unrud <unrud@openaliasbox.org> | 2017-06-04 17:16:36 +0200 |
commit | 10eef51a0f086ad148928ba965c330599b4765cb (patch) | |
tree | d0283e55f1b4e66c49bf17461b5fee211b78768a /radicale_web/web/infcloud/main.js | |
parent | Update license (diff) | |
download | radicaleinfcloud-10eef51a0f086ad148928ba965c330599b4765cb.tar.gz radicaleinfcloud-10eef51a0f086ad148928ba965c330599b4765cb.tar.bz2 radicaleinfcloud-10eef51a0f086ad148928ba965c330599b4765cb.zip |
Update package for new web plugin interface
Diffstat (limited to 'radicale_web/web/infcloud/main.js')
-rw-r--r-- | radicale_web/web/infcloud/main.js | 2335 |
1 files changed, 0 insertions, 2335 deletions
diff --git a/radicale_web/web/infcloud/main.js b/radicale_web/web/infcloud/main.js deleted file mode 100644 index 3687f64..0000000 --- a/radicale_web/web/infcloud/main.js +++ /dev/null @@ -1,2335 +0,0 @@ -/* -InfCloud - the open source CalDAV/CardDAV Web Client -Copyright (C) 2011-2015 - Jan Mate <jan.mate@inf-it.com> - Andrej Lezo <andrej.lezo@inf-it.com> - Matej Mihalik <matej.mihalik@inf-it.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -var globalSettings={ - version: {value: (typeof globalSettingsVersion!='undefined' && globalSettingsVersion!=null) ? globalSettingsVersion : 1, locked:false}, - resourcealphabetsorting: {value: (typeof globalResourceAlphabetSorting!='undefined' && globalResourceAlphabetSorting!=null) ? globalResourceAlphabetSorting : true, locked:false}, - usejqueryauth: {value: (typeof globalUseJqueryAuth!='undefined' && globalUseJqueryAuth!=null) ? globalUseJqueryAuth : false, locked:false}, - settingstype: {value: (typeof globalSettingsType!='undefined' && globalSettingsType!=null && globalSettingsType!='') ? globalSettingsType : 'principal-URL', locked:false}, - defaultactiveapp: {value: (typeof globalDefaultActiveApp!='undefined' && globalDefaultActiveApp!=null && globalDefaultActiveApp!='') ? globalDefaultActiveApp : null, locked:false}, - islastdefaultactiveapp: {value: false, locked:false}, - datepickerfirstdayofweek: {value: (typeof globalDatepickerFirstDayOfWeek!='undefined' && globalDatepickerFirstDayOfWeek!=null) ? globalDatepickerFirstDayOfWeek : 1, locked:false}, - syncresourcesinterval: {value: (typeof globalSyncResourcesInterval!='undefined' && globalSyncResourcesInterval!=null) ? globalSyncResourcesInterval :300000, locked:false}, - datepickerformat: {value: (typeof globalDatepickerFormat!='undefined' && globalDatepickerFormat!=null && globalDatepickerFormat!='') ? globalDatepickerFormat : localization[globalInterfaceLanguage]._default_datepicker_format_, locked:false}, - backgroundsync: {value: (typeof globalBackgroundSync!='undefined' && globalBackgroundSync!=null) ? globalBackgroundSync : true, locked:false}, - enablekbnavigation: {value: (typeof globalEnableKbNavigation!='undefined' && globalEnableKbNavigation!=null) ? globalEnableKbNavigation : true, locked:false}, - rewritetimezonecomponent: {value: (typeof globalRewriteTimezoneComponent!='undefined' && globalRewriteTimezoneComponent!=null) ? globalRewriteTimezoneComponent : true, locked:false}, - removeunknowntimezone: {value: (typeof globalRemoveUnknownTimezone!='undefined' && globalRemoveUnknownTimezone!=null) ? globalRemoveUnknownTimezone : false, locked:false}, - mozillasupport: {value: (typeof globalMozillaSupport!='undefined' && globalMozillaSupport!=null) ? globalMozillaSupport : false, locked:false}, - appleremindersmode: {value: (typeof globalAppleRemindersMode!='undefined' && globalAppleRemindersMode!=null) ? globalAppleRemindersMode : false, locked:false}, - titleformatmonth: {value: localization[globalInterfaceLanguage]._default_title_format_month_, locked:false}, - titleformatweek: {value: localization[globalInterfaceLanguage]._default_title_format_week_, locked:false}, - titleformatday: {value: localization[globalInterfaceLanguage]._default_title_format_day_, locked:false}, - titleformattable: {value: localization[globalInterfaceLanguage]._default_title_format_table_, locked:false}, - columnformatagenda: {value: localization[globalInterfaceLanguage]._default_column_format_agenda_, locked:false}, - activecalendarcollections: {value: (typeof globalActiveCalendarCollections!='undefined' && globalActiveCalendarCollections!=null) ? globalActiveCalendarCollections : new Array(), locked:false}, - activetodocollections: {value: (typeof globalActiveTodoCollections!='undefined' && globalActiveTodoCollections!=null) ? globalActiveTodoCollections : new Array(), locked:false}, - loadedcalendarcollections: {value: (typeof globalLoadedCalendarCollections!='undefined' && globalLoadedCalendarCollections!=null) ? globalLoadedCalendarCollections : new Array(), locked:false}, - loadedtodocollections: {value: (typeof globalLoadedTodoCollections!='undefined' && globalLoadedTodoCollections!=null) ? globalLoadedTodoCollections : new Array(), locked:false}, - todolistfilterselected: {value: (typeof globalTodoListFilterSelected!='undefined' && globalTodoListFilterSelected!=null && globalTodoListFilterSelected!='') ? globalTodoListFilterSelected : ['filterAction', 'filterProgress'], locked:false}, - activeview: {value: (typeof globalActiveView!='undefined' && globalActiveView!=null && globalActiveView!='') ? globalActiveView : 'multiWeek', locked:false}, - islastactiveview: {value: true, locked:false}, - calendarselected: {value: (typeof globalCalendarSelected!='undefined' && globalCalendarSelected!=null && globalCalendarSelected!='') ? globalCalendarSelected : '', locked:false}, - todocalendarselected: {value: (typeof globalTodoCalendarSelected!='undefined' && globalTodoCalendarSelected!=null && globalTodoCalendarSelected!='') ? globalTodoCalendarSelected : '', locked:false}, - timezone: {value: (typeof globalTimeZone!='undefined' && globalTimeZone!=null && globalTimeZone!='') ? globalTimeZone : 'local', locked:false}, - islasttimezone: {value: true, locked:false}, - openformmode: {value: (typeof globalOpenFormMode!='undefined' && globalOpenFormMode!=null && globalOpenFormMode!='') ? globalOpenFormMode : 'double', locked:false}, - calendarstartofbusiness: {value: (typeof globalCalendarStartOfBusiness!='undefined' && globalCalendarStartOfBusiness!=null) ? globalCalendarStartOfBusiness : 8, locked:false}, - calendarendofbusiness: {value: (typeof globalCalendarEndOfBusiness!='undefined' && globalCalendarEndOfBusiness!=null) ? globalCalendarEndOfBusiness : 17, locked:false}, - defaulteventduration: {value: (typeof globalDefaultEventDuration!='undefined' && globalDefaultEventDuration!=null && globalDefaultEventDuration>=0) ? globalDefaultEventDuration : null, locked:false}, - ampmformat: {value: (typeof globalAMPMFormat!='undefined' && globalAMPMFormat!=null) ? globalAMPMFormat : localization[globalInterfaceLanguage]._default_AMPM_format_, locked:false}, - timeformatagenda: {value: (typeof globalTimeFormatAgenda!='undefined' && globalTimeFormatAgenda!=null && globalTimeFormatAgenda!='') ? globalTimeFormatAgenda : null, locked:false}, - timeformatbasic: {value: (typeof globalTimeFormatBasic!='undefined' && globalTimeFormatBasic!=null && globalTimeFormatBasic!='') ? globalTimeFormatBasic : null, locked:false}, - displayhiddenevents: {value: (typeof globalDisplayHiddenEvents!='undefined' && globalDisplayHiddenEvents!=null) ? globalDisplayHiddenEvents : false, locked:false}, - timezonesupport: {value: (typeof globalTimeZoneSupport!='undefined' && globalTimeZoneSupport!=null) ? globalTimeZoneSupport : true, locked:false}, - timezonesenabled: {value: (typeof globalTimeZonesEnabled!='undefined' && globalTimeZonesEnabled!=null && globalTimeZonesEnabled!='') ? globalTimeZonesEnabled : [], locked:false}, - showhiddenalarms: {value: (typeof globalShowHiddenAlarms!='undefined' && globalShowHiddenAlarms!=null) ? globalShowHiddenAlarms : false, locked:false}, - ignorecompletedorcancelledalarms: {value: (typeof globalIgnoreCompletedOrCancelledAlarms!='undefined' && globalIgnoreCompletedOrCancelledAlarms!=null) ? globalIgnoreCompletedOrCancelledAlarms : true, locked:false}, - weekenddays: {value: (typeof globalWeekendDays!='undefined' && globalWeekendDays!=null && globalWeekendDays!='') ? globalWeekendDays : [0, 6], locked:false}, - eventstartpastlimit: {value: (typeof globalEventStartPastLimit!='undefined' && globalEventStartPastLimit!=null) ? globalEventStartPastLimit : 3, locked:false}, - todopastlimit: {value: (typeof globalTodoPastLimit!='undefined' && globalTodoPastLimit!=null) ? globalTodoPastLimit : 3, locked:false}, - eventstartfuturelimit: {value: (typeof globalEventStartFutureLimit!='undefined' && globalEventStartFutureLimit!=null) ? globalEventStartFutureLimit : 3, locked:false}, - compatibility: {value: (typeof globalCompatibility!='undefined' && globalCompatibility!=null && globalCompatibility!='') ? globalCompatibility : {anniversaryOutputFormat: ['apple']}, locked:false}, - contactstorefn: {value: (typeof globalContactStoreFN!='undefined' && globalContactStoreFN!=null && globalContactStoreFN!='') ? globalContactStoreFN : ['prefix',' last',' middle',' first',' suffix'], locked:false}, - urihandlertel: {value: (typeof globalUriHandlerTel!='undefined' && globalUriHandlerTel!=null && globalUriHandlerTel!='') ? globalUriHandlerTel : 'tel:', locked:false}, - urihandleremail: {value: (typeof globalUriHandlerEmail!='undefined' && globalUriHandlerEmail!=null && globalUriHandlerEmail!='') ? globalUriHandlerEmail : 'mailto:', locked:false}, - urihandlerurl: {value: (typeof globalUriHandlerUrl!='undefined' && globalUriHandlerUrl!=null && globalUriHandlerUrl!='') ? globalUriHandlerUrl : 'http://', locked:false}, - urihandlerprofile: {value: (typeof globalUriHandlerProfile!='undefined' && globalUriHandlerProfile!=null && globalUriHandlerProfile!='') ? globalUriHandlerProfile : {'twitter': 'http://twitter.com/%u', 'facebook': 'http://www.facebook.com/%u', 'flickr': 'http://www.flickr.com/photos/%u', 'linkedin': 'http://www.linkedin.com/in/%u', 'myspace': 'http://www.myspace.com/%u', 'sinaweibo': 'http://weibo.com/n/%u'}, locked:false}, - addresscountryequivalence: {value: (typeof globalAddressCountryEquivalence!='undefined' && globalAddressCountryEquivalence!=null && globalAddressCountryEquivalence!='') ? globalAddressCountryEquivalence : [{country: 'de', regex: '^\\W*Deutschland\\W*$'}, {country: 'sk', regex: '^\\W*Slovensko\\W*$'}], locked:false}, - addressbookselected: {value: (typeof globalAddressbookSelected!='undefined' && globalAddressbookSelected!=null && globalAddressbookSelected!='') ? globalAddressbookSelected : '', locked:false}, - collectiondisplay: {value: (typeof globalCollectionDisplay!='undefined' && globalCollectionDisplay!=null && globalCollectionDisplay!='') ? globalCollectionDisplay : ( - (typeof globalGroupContactsByCompanies!='undefined' && globalGroupContactsByCompanies) ? - [{label: '{Name}', value: {company: ['{Company}', ' [{Department}]'], personal: ['{LastName}', ' {MiddleName}', ' {FirstName}']}}, {label: '{JobTitle}', value: ['{JobTitle}']}, {label: '{Email}', value: ['{Email[:0]}']}, {label: '{Phone} 1', value: ['{Phone[:0]}']}, {label: '{Phone} 2', value: ['{Phone[:1]}']}, {label: '{NoteText}', value: ['{NoteText}']}] : - [{label: '{Name}', value: ['{LastName}', ' {MiddleName}', ' {FirstName}']}, {label: '{Company} [{Department}]', value: ['{Company}', ' [{Department}]']}, {label: '{JobTitle}', value: ['{JobTitle}']}, {label: '{Email}', value: ['{Email[:0]}']}, {label: '{Phone} 1', value: ['{Phone[:0]}']}, {label: '{Phone} 2', value: ['{Phone[:1]}']}, {label: '{NoteText}', value: ['{NoteText}']}] - ), locked:false}, - collectionsort: {value: (typeof globalCollectionSort!='undefined' && globalCollectionSort!=null && globalCollectionSort!='') ? globalCollectionSort : '', locked:false}, - defaultaddresscountry: {value: (typeof globalDefaultAddressCountry!='undefined' && globalDefaultAddressCountry!=null && globalDefaultAddressCountry!='') ? globalDefaultAddressCountry :'us', locked:false}, - addresscountryfavorites: {value: (typeof globalAddressCountryFavorites!='undefined' && globalAddressCountryFavorites!=null && globalAddressCountryFavorites!='') ? globalAddressCountryFavorites :[], locked:false}, - activeaddressbookcollections: {value: (typeof globalActiveAddressbookCollections!='undefined' && globalActiveAddressbookCollections!=null) ? globalActiveAddressbookCollections : new Array(), locked:false}, - loadedaddressbookcollections: {value: (typeof globalLoadedAddressbookCollections!='undefined' && globalLoadedAddressbookCollections!=null) ? globalLoadedAddressbookCollections : new Array(), locked:false} -}; - - -function resetSettings() -{ - globalSettings={ - version: {value: (typeof globalSettingsVersion!='undefined' && globalSettingsVersion!=null) ? globalSettingsVersion : 1, locked:false}, - resourcealphabetsorting: {value: (typeof globalResourceAlphabetSorting!='undefined' && globalResourceAlphabetSorting!=null) ? globalResourceAlphabetSorting : true, locked:false}, - usejqueryauth: {value: (typeof globalUseJqueryAuth!='undefined' && globalUseJqueryAuth!=null) ? globalUseJqueryAuth : false, locked:false}, - settingstype: {value: (typeof globalSettingsType!='undefined' && globalSettingsType!=null && globalSettingsType!='') ? globalSettingsType : 'principal-URL', locked:false}, - defaultactiveapp: {value: (typeof globalDefaultActiveApp!='undefined' && globalDefaultActiveApp!=null && globalDefaultActiveApp!='') ? globalDefaultActiveApp : null, locked:false}, - islastdefaultactiveapp: {value: false, locked:false}, - datepickerfirstdayofweek: {value: (typeof globalDatepickerFirstDayOfWeek!='undefined' && globalDatepickerFirstDayOfWeek!=null) ? globalDatepickerFirstDayOfWeek : 1, locked:false}, - syncresourcesinterval: {value: (typeof globalSyncResourcesInterval!='undefined' && globalSyncResourcesInterval!=null) ? globalSyncResourcesInterval :300000, locked:false}, - datepickerformat: {value: (typeof globalDatepickerFormat!='undefined' && globalDatepickerFormat!=null && globalDatepickerFormat!='') ? globalDatepickerFormat : localization[globalInterfaceLanguage]._default_datepicker_format_, locked:false}, - backgroundsync: {value: (typeof globalBackgroundSync!='undefined' && globalBackgroundSync!=null) ? globalBackgroundSync : true, locked:false}, - enablekbnavigation: {value: (typeof globalEnableKbNavigation!='undefined' && globalEnableKbNavigation!=null) ? globalEnableKbNavigation : true, locked:false}, - rewritetimezonecomponent: {value: (typeof globalRewriteTimezoneComponent!='undefined' && globalRewriteTimezoneComponent!=null) ? globalRewriteTimezoneComponent : true, locked:false}, - removeunknowntimezone: {value: (typeof globalRemoveUnknownTimezone!='undefined' && globalRemoveUnknownTimezone!=null) ? globalRemoveUnknownTimezone : false, locked:false}, - mozillasupport: {value: (typeof globalMozillaSupport!='undefined' && globalMozillaSupport!=null) ? globalMozillaSupport : false, locked:false}, - appleremindersmode: {value: (typeof globalAppleRemindersMode!='undefined' && globalAppleRemindersMode!=null) ? globalAppleRemindersMode : false, locked:false}, - titleformatmonth: {value: localization[globalInterfaceLanguage]._default_title_format_month_, locked:false}, - titleformatweek: {value: localization[globalInterfaceLanguage]._default_title_format_week_, locked:false}, - titleformatday: {value: localization[globalInterfaceLanguage]._default_title_format_day_, locked:false}, - titleformattable: {value: localization[globalInterfaceLanguage]._default_title_format_table_, locked:false}, - columnformatagenda: {value: localization[globalInterfaceLanguage]._default_column_format_agenda_, locked:false}, - activecalendarcollections: {value: (typeof globalActiveCalendarCollections!='undefined' && globalActiveCalendarCollections!=null) ? globalActiveCalendarCollections : new Array(), locked:false}, - activetodocollections: {value: (typeof globalActiveTodoCollections!='undefined' && globalActiveTodoCollections!=null) ? globalActiveTodoCollections : new Array(), locked:false}, - loadedcalendarcollections: {value: (typeof globalLoadedCalendarCollections!='undefined' && globalLoadedCalendarCollections!=null) ? globalLoadedCalendarCollections : new Array(), locked:false}, - loadedtodocollections: {value: (typeof globalLoadedTodoCollections!='undefined' && globalLoadedTodoCollections!=null) ? globalLoadedTodoCollections : new Array(), locked:false}, - todolistfilterselected: {value: (typeof globalTodoListFilterSelected!='undefined' && globalTodoListFilterSelected!=null && globalTodoListFilterSelected!='') ? globalTodoListFilterSelected : ['filterAction', 'filterProgress'], locked:false}, - activeview: {value: (typeof globalActiveView!='undefined' && globalActiveView!=null && globalActiveView!='') ? globalActiveView : 'multiWeek', locked:false}, - islastactiveview: {value: true, lockedlocked:false}, - calendarselected: {value: (typeof globalCalendarSelected!='undefined' && globalCalendarSelected!=null && globalCalendarSelected!='') ? globalCalendarSelected : '', locked:false}, - todocalendarselected: {value: (typeof globalTodoCalendarSelected!='undefined' && globalTodoCalendarSelected!=null && globalTodoCalendarSelected!='') ? globalTodoCalendarSelected : '', locked:false}, - timezone: {value: (typeof globalTimeZone!='undefined' && globalTimeZone!=null && globalTimeZone!='') ? globalTimeZone : 'local', locked:false}, - islasttimezone: {value: true, locked:false}, - openformmode: {value: (typeof globalOpenFormMode!='undefined' && globalOpenFormMode!=null && globalOpenFormMode!='') ? globalOpenFormMode : 'double', locked:false}, - calendarstartofbusiness: {value: (typeof globalCalendarStartOfBusiness!='undefined' && globalCalendarStartOfBusiness!=null) ? globalCalendarStartOfBusiness : 8, locked:false}, - calendarendofbusiness: {value: (typeof globalCalendarEndOfBusiness!='undefined' && globalCalendarEndOfBusiness!=null) ? globalCalendarEndOfBusiness : 17, locked:false}, - defaulteventduration: {value: (typeof globalDefaultEventDuration!='undefined' && globalDefaultEventDuration!=null && globalDefaultEventDuration>=0) ? globalDefaultEventDuration : null, locked:false}, - ampmformat: {value: (typeof globalAMPMFormat!='undefined' && globalAMPMFormat!=null) ? globalAMPMFormat : localization[globalInterfaceLanguage]._default_AMPM_format_, locked:false}, - timeformatagenda: {value: (typeof globalTimeFormatAgenda!='undefined' && globalTimeFormatAgenda!=null && globalTimeFormatAgenda!='') ? globalTimeFormatAgenda : null, locked:false}, - timeformatbasic: {value: (typeof globalTimeFormatBasic!='undefined' && globalTimeFormatBasic!=null && globalTimeFormatBasic!='') ? globalTimeFormatBasic : null, locked:false}, - displayhiddenevents: {value: (typeof globalDisplayHiddenEvents!='undefined' && globalDisplayHiddenEvents!=null) ? globalDisplayHiddenEvents : false, locked:false}, - timezonesupport: {value: (typeof globalTimeZoneSupport!='undefined' && globalTimeZoneSupport!=null) ? globalTimeZoneSupport : true, locked:false}, - timezonesenabled: {value: (typeof globalTimeZonesEnabled!='undefined' && globalTimeZonesEnabled!=null && globalTimeZonesEnabled!='') ? globalTimeZonesEnabled : [], locked:false}, - showhiddenalarms: {value: (typeof globalShowHiddenAlarms!='undefined' && globalShowHiddenAlarms!=null) ? globalShowHiddenAlarms : false, locked:false}, - ignorecompletedorcancelledalarms: {value: (typeof globalIgnoreCompletedOrCancelledAlarms!='undefined' && globalIgnoreCompletedOrCancelledAlarms!=null) ? globalIgnoreCompletedOrCancelledAlarms : true, locked:false}, - weekenddays: {value: (typeof globalWeekendDays!='undefined' && globalWeekendDays!=null && globalWeekendDays!='') ? globalWeekendDays : [0, 6], locked:false}, - eventstartpastlimit: {value: (typeof globalEventStartPastLimit!='undefined' && globalEventStartPastLimit!=null) ? globalEventStartPastLimit : 3, locked:false}, - todopastlimit: {value: (typeof globalTodoPastLimit!='undefined' && globalTodoPastLimit!=null) ? globalTodoPastLimit : 3, locked:false}, - eventstartfuturelimit: {value: (typeof globalEventStartFutureLimit!='undefined' && globalEventStartFutureLimit!=null) ? globalEventStartFutureLimit : 3, locked:false}, - compatibility: {value: (typeof globalCompatibility!='undefined' && globalCompatibility!=null && globalCompatibility!='') ? globalCompatibility : {anniversaryOutputFormat: ['apple']}, locked:false}, - contactstorefn: {value: (typeof globalContactStoreFN!='undefined' && globalContactStoreFN!=null && globalContactStoreFN!='') ? globalContactStoreFN : ['prefix',' last',' middle',' first',' suffix'], locked:false}, - urihandlertel: {value: (typeof globalUriHandlerTel!='undefined' && globalUriHandlerTel!=null && globalUriHandlerTel!='') ? globalUriHandlerTel : 'tel:', locked:false}, - urihandleremail: {value: (typeof globalUriHandlerEmail!='undefined' && globalUriHandlerEmail!=null && globalUriHandlerEmail!='') ? globalUriHandlerEmail : 'mailto:', locked:false}, - urihandlerurl: {value: (typeof globalUriHandlerUrl!='undefined' && globalUriHandlerUrl!=null && globalUriHandlerUrl!='') ? globalUriHandlerUrl : 'http://', locked:false}, - urihandlerprofile: {value: (typeof globalUriHandlerProfile!='undefined' && globalUriHandlerProfile!=null && globalUriHandlerProfile!='') ? globalUriHandlerProfile : {'twitter': 'http://twitter.com/%u', 'facebook': 'http://www.facebook.com/%u', 'flickr': 'http://www.flickr.com/photos/%u', 'linkedin': 'http://www.linkedin.com/in/%u', 'myspace': 'http://www.myspace.com/%u', 'sinaweibo': 'http://weibo.com/n/%u'}, locked:false}, - addresscountryequivalence: {value: (typeof globalAddressCountryEquivalence!='undefined' && globalAddressCountryEquivalence!=null && globalAddressCountryEquivalence!='') ? globalAddressCountryEquivalence : [{country: 'de', regex: '^\\W*Deutschland\\W*$'}, {country: 'sk', regex: '^\\W*Slovensko\\W*$'}], locked:false}, - addressbookselected: {value: (typeof globalAddressbookSelected!='undefined' && globalAddressbookSelected!=null && globalAddressbookSelected!='') ? globalAddressbookSelected : '', locked:false}, - collectiondisplay: {value: (typeof globalCollectionDisplay!='undefined' && globalCollectionDisplay!=null && globalCollectionDisplay!='') ? globalCollectionDisplay : ( - (typeof globalGroupContactsByCompanies!='undefined' && globalGroupContactsByCompanies) ? - [{label: '{Name}', value: {company: ['{Company}', ' [{Department}]'], personal: ['{LastName}', ' {MiddleName}', ' {FirstName}']}}, {label: '{JobTitle}', value: ['{JobTitle}']}, {label: '{Email}', value: ['{Email[:0]}']}, {label: '{Phone} 1', value: ['{Phone[:0]}']}, {label: '{Phone} 2', value: ['{Phone[:1]}']}, {label: '{NoteText}', value: ['{NoteText}']}] : - [{label: '{Name}', value: ['{LastName}', ' {MiddleName}', ' {FirstName}']}, {label: '{Company} [{Department}]', value: ['{Company}', ' [{Department}]']}, {label: '{JobTitle}', value: ['{JobTitle}']}, {label: '{Email}', value: ['{Email[:0]}']}, {label: '{Phone} 1', value: ['{Phone[:0]}']}, {label: '{Phone} 2', value: ['{Phone[:1]}']}, {label: '{NoteText}', value: ['{NoteText}']}] - ), locked:false}, - collectionsort: {value: (typeof globalCollectionSort!='undefined' && globalCollectionSort!=null && globalCollectionSort!='') ? globalCollectionSort : '', locked:false}, - defaultaddresscountry: {value: (typeof globalDefaultAddressCountry!='undefined' && globalDefaultAddressCountry!=null && globalDefaultAddressCountry!='') ? globalDefaultAddressCountry :'us', locked:false}, - addresscountryfavorites: {value: (typeof globalAddressCountryFavorites!='undefined' && globalAddressCountryFavorites!=null && globalAddressCountryFavorites!='') ? globalAddressCountryFavorites :[], locked:false}, - activeaddressbookcollections: {value: (typeof globalActiveAddressbookCollections!='undefined' && globalActiveAddressbookCollections!=null) ? globalActiveAddressbookCollections : new Array(), locked:false}, - loadedaddressbookcollections: {value: (typeof globalLoadedAddressbookCollections!='undefined' && globalLoadedAddressbookCollections!=null) ? globalLoadedAddressbookCollections : new Array(), locked:false} - }; -} - -function transformToServer(inSettings) -{ - var serverSettings={}; - - for(var prop in inSettings) - { - serverSettings[prop]=inSettings[prop].value; - } - - return serverSettings; -} -var globalWindowFocus=true; -var globalLoginUsername=''; -var globalLoginPassword=''; -var isUserLogged=false; -var isDelegationLoaded=false; -var globalActiveApp=''; -var globalAvailableAppsArray=new Array(); -var globalEnableAppSwitch=true; -var globalAppName='InfCloud'; -var globalVersion='0.13.2rc1'; -var globalBuildNo=1448196611; -var globalXMLCache=null; -var globalVersionCheckURL=(location.protocol=='file:' ? 'http:' : location.protocol)+'//www.inf-it.com/versioncheck/'+globalAppName+'/?v='+globalVersion; -var globalXClientHeader=globalAppName+' '+globalVersion+' (Inf-IT CalDAV/CardDAV Web Client)'; -var globalResourceNumberCount=0; -var globalResourceNumber=0; -var globalResourceIntervalID=null; -var globalFirstLoadNextApp=false; -var globalObjectLoading=false; -var settingsLoaded=false; -var globalKBNavigationPaddingRate=0.2; -var globalParallelAjaxCallCardDAVEnabled=true; -var globalParallelAjaxCallCalDAVEnabled=true; -var globalCacheUpdateInterval=null; -var isIntegrated=false; -var SVG_select='<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" x="0px" y="0px" width="19px" height="19px" viewBox="0 0 19 19" overflow="visible" enable-background="new 0 0 19 19" xml:space="preserve"><defs></defs><rect x="2" fill="#585858" width="17" height="19"/><polygon fill="#FFFFFF" points="14,7 10.5,13 7,7 "/><rect fill="#FFFFFF" width="2" height="19"/></svg>'; -var SVG_select_inv='<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" x="0px" y="0px" width="19px" height="19px" viewBox="0 0 19 19" overflow="visible" enable-background="new 0 0 19 19" xml:space="preserve"><defs></defs><rect x="2" fill="#585858" width="17" height="19"/><polygon fill="#FFFFFF" points="14,13 10.5,7 7,13"/><rect fill="#FFFFFF" width="2" height="19"/></svg>'; -var SVG_select_b='<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" x="0px" y="0px" width="19px" height="19px" viewBox="0 0 19 19" overflow="visible" enable-background="new 0 0 19 19" xml:space="preserve"><defs></defs><rect x="2" fill="#585858" width="17" height="19"/><polygon fill="#FFFFFF" points="14,7 10.5,13 7,7 "/><rect fill="#F0F0F0" width="2" height="19"/></svg>'; -var SVG_select_login='<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" x="0px" y="0px" width="19px" height="28px" viewBox="0 0 19 28" overflow="visible" enable-background="new 0 0 19 28" xml:space="preserve"><defs></defs><rect fill="#FFFFFF" width="19" height="28"/></svg>'; -var SVG_select_dis='<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" x="0px" y="0px" width="22px" height="19px" viewBox="0 0 22 19" overflow="visible" enable-background="new 0 0 22 19" xml:space="preserve"><defs></defs><rect fill="#FFFFFF" width="22" height="19"/></svg>'; -var globalDefinedSettings = new Array(); -var globalLoadedPrincipals = new Array(); -var globalEnableAllResourceSync = true; -if(typeof isSettingsAvaible == 'undefined') - var globalPreviousSupportedSettings = ['activecalendarcollections','activetodocollections', 'activeaddressbookcollections','todolistfilterselected','activeview','defaultactiveapp','calendarselected', 'todocalendarselected','addressbookselected','timezone', 'loadedtodocollections', 'loadedcalendarcollections', 'loadedaddressbookcollections', 'version']; -var globalSettingsSaving = ''; -var globalFirstHideLoader = true; -var globalLoadedCollectionsNumber = 0; -var globalLoadedCollectionsCount = 0; -var ignoreServerSettings=false; -var globalPreventLogoutSync=false; -var globalEmailAddress=''; -var globalSettingsVersion=3; -var globalSyncSettingsSave=false; - -// Timepicker hack (prevent IE to re-open the datepicker on date click + focus) -var globalTmpTimePickerHackTime=new Object(); - -function isAvaible(app) -{ - return globalAvailableAppsArray.indexOf(app)!=-1 -} - -function loadAllResources() -{ - if(globalResourceIntervalID==null) - netFindResource(globalAccountSettings[0], 0, true, 0); -} - -function getAccount(accountUID) -{ - // find the original settings for the resource and user - var tmp=accountUID.match(RegExp('^(https?://)([^@/]+(?:@[^@/]+)?)@([^/]+)(.*/)','i')); - var resource_href=tmp[1]+tmp[3]+tmp[4]; - var resource_user=tmp[2]; - - for(var i=0;i<globalAccountSettings.length;i++) - if(globalAccountSettings[i].href==resource_href && globalAccountSettings[i].userAuth.userName==resource_user) - resourceSettings=globalAccountSettings[i]; - return resourceSettings; -} - -function checkForUnloadedResources() -{ - var rex=new RegExp('^(https?://)([^@/]+(?:@[^@/]+)?)@([^/]+)(.*/)', 'i'); - - for(var i=globalLoadedPrincipals.length-1; i>=0;i--) - { - var resourceCounter = 0; - if(isAvaible('CardDavMATE')) - for(var j=0; j<globalResourceCardDAVList.collections.length;j++) - if(globalResourceCardDAVList.collections[j].uid!=undefined&&globalResourceCardDAVList.collections[j].makeLoaded) - { - var tmp=globalResourceCardDAVList.collections[j].accountUID.match(rex); - var resourceCalDAV_href=tmp[1]+tmp[3]+tmp[4]; - if(globalLoadedPrincipals[i]==resourceCalDAV_href) - resourceCounter++; - } - - if(isAvaible('CalDavZAP')) - { - for(var j=0; j<globalResourceCalDAVList.collections.length;j++) - if(globalResourceCalDAVList.collections[j].uid!=undefined&&globalResourceCalDAVList.collections[j].makeLoaded) - { - var tmp=globalResourceCalDAVList.collections[j].accountUID.match(rex); - var resourceCalDAV_href=tmp[1]+tmp[3]+tmp[4]; - if(globalLoadedPrincipals[i]==resourceCalDAV_href) - resourceCounter++; - } - - for(var j=0; j<globalResourceCalDAVList.TodoCollections.length;j++) - if(globalResourceCalDAVList.TodoCollections[j].uid!=undefined&&globalResourceCalDAVList.TodoCollections[j].makeLoaded) - { - var tmp=globalResourceCalDAVList.TodoCollections[j].accountUID.match(rex); - var resourceCalDAV_href=tmp[1]+tmp[3]+tmp[4]; - if(globalLoadedPrincipals[i]==resourceCalDAV_href) - resourceCounter++; - } - } - if(resourceCounter==0) - globalLoadedPrincipals.splice(i,1); - } -} - -function reloadResources(dontSaveSettings, loadArray) -{ - if((isAvaible('CardDavMATE')&&(globalCardDAVInitLoad||globalCardDAVResourceSync)) || (isAvaible('CalDavZAP')&&(globalCalDAVInitLoad||globalCalDAVResourceSync)) - || (isAvaible('Projects')&&!isProjectsLoaded) || (isAvaible('Settings')&&(!isSettingsLoaded || (globalSettingsSaving!=''&&!dontSaveSettings))) || (isAvaible('CalDavZAP')&&(globalLimitLoading!='' || globalLimitTodoLoading!=''))) - return false; - if(globalWindowFocus==false) - return false; - globalCardDAVResourceSync=true; - globalCalDAVResourceSync=true; - if(isAvaible('CalDavZAP')) - { - globalCalDAVResourceSync = true; - globalToday.setHours(0); - globalToday.setMinutes(0); - globalToday.setSeconds(0); - globalToday.setMilliseconds(0); - - var currentToday=new Date(); - currentToday.setHours(0); - currentToday.setMinutes(0); - currentToday.setSeconds(0); - currentToday.setMilliseconds(0); - if(currentToday.getTime()!=globalToday.getTime()) - { - if(isAvaible('CalDavZAP')) - $('.date').datepicker('refresh'); - if(isAvaible('CardDavMATE')) - $('#vCardEditor').find('input[data-type^="date_"]').datepicker('refresh'); - if(isAvaible('Projects')) - $('.project_date').datepicker('refresh'); - $('#calendar').fullCalendar('updateToday'); - $('#calendar').fullCalendar('gotoDate', currentToday); - $('#todoList').fullCalendar('gotoDate', currentToday); - if(currentToday.getTime()>globalToday.getTime()) - { - getNextMonths($('#calendar').fullCalendar('getView').end); - getNextMonthsTodo(); - } - else //support for timezone with backward time flow - { - getPrevMonths($('#calendar').fullCalendar('getView').start); - getPrevMonthsTodo(); - } - globalToday=currentToday; - } - } - checkForUnloadedResources(); - if(!globalEnableAllResourceSync&&(typeof loadArray=='undefined' || loadArray==null)) - netFindResource(globalAccountSettings[0], 0, false, 0, globalLoadedPrincipals); - else - netFindResource(globalAccountSettings[0], 0, false, 0, loadArray); -} -function ifLoadCollections() -{ - if((isAvaible('CardDavMATE') && (globalCardDAVInitLoad || globalCardDAVResourceSync)) || (isAvaible('CalDavZAP') && (globalCalDAVInitLoad || globalCalDAVResourceSync))) - return false; - - var changeCounter = 0; - if(isAvaible('CardDavMATE')) - for(var i=0; i<globalResourceCardDAVList.collections.length;i++) - if(globalResourceCardDAVList.collections[i].uid!=undefined && globalResourceCardDAVList.collections[i].someChanged) - changeCounter++; - - if(isAvaible('CalDavZAP')) - { - for(var i=0; i<globalResourceCalDAVList.collections.length;i++) - if(globalResourceCalDAVList.collections[i].uid!=undefined && globalResourceCalDAVList.collections[i].someChanged) - changeCounter++; - - for(var i=0; i<globalResourceCalDAVList.TodoCollections.length;i++) - if(globalResourceCalDAVList.TodoCollections[i].uid!=undefined && globalResourceCalDAVList.TodoCollections[i].someChanged) - changeCounter++; - } - - if(changeCounter>0 || globalSettingsSaving!='') - loadNextApplication(false); -} - -function bindColorPickerClick(newElement) -{ - newElement.click(function(event){ - var collectionType=null; - var resourceSelectedClass=null; - var resourceItems=null; - - if(newElement.parent().hasClass('resourceCalDAV_item')) - { - if(globalEventCollectionsLoading) - return false; - collectionType='event'; - resourceSelectedClass='resourceCalDAV_item_selected'; - resourceItems=newElement.parent().siblings('.resourceCalDAV_item_selected'); - } - else if(newElement.parent().hasClass('resourceCalDAVTODO_item')) - { - if(globalTodoCollectionsLoading) - return false; - collectionType='todo'; - resourceSelectedClass='resourceCalDAV_item_selected'; - resourceItems=newElement.parent().siblings('.resourceCalDAV_item_selected'); - } - else if(newElement.hasClass('resourceCardDAVColor')) - { - if(globalAddressbookCollectionsLoading) - return false; - collectionType='addressbook'; - resourceSelectedClass='resourceCardDAV_selected'; - resourceItems=newElement.parent().parent().siblings().find('.resourceCardDAV_selected'); - } - - var showInput = event.shiftKey; - var colorpicker=$(this).siblings('.colorPicker'); - - if(!$(this).hasClass('hasColorpicker')) - { - $(this).addClass('hasColorpicker'); - colorpicker.spectrum({ - chooseText: localization[globalInterfaceLanguage].buttonSave, - cancelText: localization[globalInterfaceLanguage].buttonCancel, - color: newElement.css('background-color'), - showInput: showInput, - preferredFormat: 'hex6', - move: function(color) - { - newElement.css('background', color); - }, - hide: function(color) - { - if(newElement.css('background-color') != colorpicker.spectrum('get').toRgbString()) - newElement.css('background', colorpicker.spectrum('get').toRgbString()); - }, - change: function(color) - { - newElement.css('background', color); - if(collectionType=='event') - { - var coll = globalResourceCalDAVList.getEventCollectionByUID($(this).parent().attr('data-id')); - netSaveProperty(coll, (typeof globalCalendarColorPropertyXmlns!='undefined'&&globalCalendarColorPropertyXmlns!=null&&globalCalendarColorPropertyXmlns!='' ? globalCalendarColorPropertyXmlns : 'http://apple.com/ns/ical/'), 'calendar-color', color.toHexString()) - } - else if(collectionType=='todo') - { - var coll = globalResourceCalDAVList.getTodoCollectionByUID($(this).parent().attr('data-id')); - netSaveProperty(coll, (typeof globalCalendarColorPropertyXmlns!='undefined'&&globalCalendarColorPropertyXmlns!=null&&globalCalendarColorPropertyXmlns!='' ? globalCalendarColorPropertyXmlns : 'http://apple.com/ns/ical/'), 'calendar-color', color.toHexString()) - } - else if(collectionType=='addressbook') - { - var coll = globalResourceCardDAVList.getCollectionByUID($(this).parent().attr('data-id')); - netSaveProperty(coll, (typeof globalAddrColorPropertyXmlns!='undefined'&&globalAddrColorPropertyXmlns!=null&&globalAddrColorPropertyXmlns!='' ? globalAddrColorPropertyXmlns : 'http://inf-it.com/ns/ab/'), 'addressbook-color', color.toHexString()) - } - } - }); - } - else if(showInput!=colorpicker.spectrum('option', 'showInput')) - colorpicker.spectrum('option', 'showInput',showInput); - - var container = colorpicker.spectrum('container'); - if(container.is(':visible')) { - colorpicker.spectrum('hide'); - } - else { - var offset=$(this).offset(); - colorpicker.spectrum('show'); - - if(event.pageY<$(window).height()/2) { - offset.top+=$(this).outerHeight(); - container.removeClass('sp-inverse'); - } - else { - offset.top-=container.outerHeight(); - container.addClass('sp-inverse'); - } - container.offset(offset); - } - - resourceItems.removeClass(resourceSelectedClass); - newElement.parent().addClass(resourceSelectedClass); - - return false; - }); -} - -function loadNextApplication(forceLoad) -{ - if(!globalFirstLoadNextApp) - { - if(isAvaible('CardDavMATE')) - setAddressbookNumber(); - if(isAvaible('CalDavZAP')) - setCalendarNumber(true); - globalFirstLoadNextApp=true; - } - if(isAvaible('CardDavMATE') && !globalCardDAVCollectionSync && globalResourceCardDAVList.collections.length>0) - { - globalCardDAVCollectionSync=true; - CardDAVnetLoadCollection(globalResourceCardDAVList.collections[0], forceLoad, false, null, 0, globalResourceCardDAVList.collections,true); - } - else if(isAvaible('CalDavZAP') && !globalCalDAVCollectionSync && globalResourceCalDAVList.collections.length>0) - { - globalCalDAVCollectionSync=true; - CalDAVnetLoadCollection(globalResourceCalDAVList.collections[0], forceLoad, true, 0, globalResourceCalDAVList.collections); - } - else if(isAvaible('Projects') && !globalProjectSync && !isProjectsLoaded && getLoggedUser()!=null) - { - $('#MainLoaderInner').html('Loading projects'); - globalProjectSync=true; - if(typeof globalCRMSettings != 'undefined') - netLoadXSLT(globalCRMSettings.XSLTHref); - else - { - console.log("Error: globalCRMSettings is not defined"); - loadNextApplication(false); - } - } - else if(isAvaible('Reports') && !globalReportsSync && !isReportsLoaded && getLoggedUser()!=null) - { - $('#MainLoaderInner').html('Loading Reports'); - globalReportsSync=true; - if(typeof globalCRMSettings != 'undefined') - netLoadReportList(globalCRMSettings); - else - { - console.log("Error: globalCRMSettings is not defined"); - loadNextApplication(false); - } - } - else if(isAvaible('Settings') && !globalSettingsSync && !isSettingsLoaded && getLoggedUser()!=null) - { - globalSettingsSync = true; - if(!isSettingsLoaded) - loadNextApplication(false); - if($('#ResourceSettingsList').children('.resourceSettings_item').length) - $('#ResourceSettingsList').children().eq(0).trigger('click'); - } - else - { - if((isAvaible('CalDavZAP') && !isCalDAVLoaded) || (isAvaible('CardDavMATE') && !isCardDAVLoaded)) - $('#MainLoader').fadeOut(1200, function(){$('#MainLoader').css('left','50px');}); - if(isAvaible('CardDavMATE')) - { - globalCardDAVCollectionSync=false; - if(!isCardDAVLoaded) - isCardDAVLoaded=true; - } - if(isAvaible('CalDavZAP')) - { - globalCalDAVCollectionSync=false; - if(!isCalDAVLoaded) - isCalDAVLoaded=true; - } - if(isAvaible('Projects')) - { - globalProjectSync=false; - isProjectsLoaded = true; - } - if(isAvaible('Reports')) - { - globalReportsSync=false; - isReportsLoaded = true; - } - if(isAvaible('Settings')) - { - globalSettingsSync=false; - isSettingsLoaded = true; - } - } -} - -function checkForApplication(inputApp) -{ - if(!globalEnableAppSwitch || globalObjectLoading) - return false; - - globalEnableAppSwitch=false; - globalActiveApp=inputApp; - - var inputID = 'System'+inputApp; - $('.System').not('#'+inputID).each(function(){ - $(this).animate({opacity : 0}, 666, function(){ - /* XXX - System display:none changes - if($(this).attr('id').indexOf('CalDav')==-1) - $(this).css('display','none'); - else*/ - $(this).css('visibility','hidden'); - }); - }); - - /* XXX - System display:none changes - if(inputID.indexOf('CalDav')==-1) - $('#'+inputID).css('display','block').animate({opacity : 1}, 666, function(){globalEnableAppSwitch=true;}); - else*/ - $('#'+inputID).css('visibility','visible').animate({opacity : 1}, 666, function(){globalEnableAppSwitch=true;}); -} - -function getLoggedUser() -{ - for(var i=0; i<globalAccountSettings.length;i++) - if(globalAccountSettings[i].href.indexOf(globalLoginUsername)!=-1) - return globalAccountSettings[i]; - return globalAccountSettings[0]; -} - -function login() -{ - $('#LoginLoader').fadeTo(1200, 1, function(){ - globalLoginUsername=$('#LoginPage').find('[data-type="system_username"]').val(); - globalLoginPassword=$('#LoginPage').find('[data-type="system_password"]').val(); - loadConfig(); - }); -} - -function logout(forceLogout) -{ - if((typeof forceLogout=='undefined' || forceLogout==null ) && ( - (isAvaible('CardDavMATE') && (!isCardDAVLoaded || globalCardDAVResourceSync)) || - (isAvaible('CalDavZAP') && (!isCalDAVLoaded || globalCalDAVResourceSync)) || - (isAvaible('Projects') && !isProjectsLoaded) || - (isAvaible('Settings') && (!isSettingsLoaded || (globalSettingsSaving!='' && !dontSaveSettings))) || - (isAvaible('CalDavZAP') && (globalLimitLoading!='' || globalLimitTodoLoading!='')) - )) - { - globalPreventLogoutSync=true; - return false; - } - clearInterval(globalResourceIntervalID); - if(globalFirstLoadNextApp) - globalFirstLoadNextApp=false; - settingsLoaded=false; - ignoreServerSettings=false; - //save settings - checkBeforeClose(false); - globalResourceIntervalID=null; - globalLoginUsername=''; - globalLoginPassword=''; - globalXMLCache=null; - globalResourceNumber=0; - globalResourceNumberCount=0; - globalLoadedPrincipals=new Array(); - globalEmailAddress=''; - globalPreventLogoutSync=false; - globalSyncSettingsSave=false; - - $(document.documentElement).unbind(); - // reset page title - var tmpMatch = document.title.match('^(.*) \\[.*\\]$'); - if(tmpMatch!=null) - document.title = tmpMatch[1]; - - $('#LoginPage').fadeTo(2000, 1, function(){ - if(typeof isCalDAVLoaded!='undefined' && isCalDAVLoaded) - { - logoutCalDAV(); - isCalDAVLoaded=false; - } - - if(typeof isCardDAVLoaded!='undefined' && isCardDAVLoaded) - { - logoutCardDAV(); - isCardDAVLoaded=false; - } - if(typeof isProjectsLoaded!='undefined' && isProjectsLoaded) - { - logoutProjects(); - isProjectsLoaded = false; - } - if(typeof isReportsLoaded!='undefined' && isReportsLoaded) - { - logoutReports(); - isReportsLoaded = false; - } - if(typeof isSettingsLoaded!='undefined' && isSettingsLoaded) - { - logoutSettings(); - isSettingsLoaded = false; - } - - for(var i=globalAccountSettings.length-1;i>=0;i--) - if(globalAccountSettings[i].type=='network') - globalAccountSettings.splice(i, 1); - - if(typeof globalDemoMode=='undefined') - { - $('[data-type="system_username"]').val('').change(); - $('[data-type="system_password"]').val('').change(); - } - - $('.integration_d').hide(); - - isUserLogged=false; - - if(globalSettings.defaultactiveapp.value==null) - { - if(isAvaible('CalDavZAP')) - globalActiveApp='CalDavZAP'; - else if(isAvaible('CardDavMATE')) - globalActiveApp='CardDavMATE'; - } - else - globalActiveApp=globalSettings.defaultactiveapp.value; - - resetSettings(); - if(isAvaible('CardDavMATE')) - mainCardDAV(); - if(isAvaible('CalDavZAP')) - mainCalDAV(); - if(isAvaible('Settings')) - mainSettings(); - if(isAvaible('Projects')) - mainProjects(); - if(isAvaible('Reports')) - mainReports(); - init(); - }); -} - -function init() -{ - // browser check - if(($.browser.msie && parseInt($.browser.version, 10)<9) || $.browser.opera) - $('#login_message').css('display','').text(localization[globalInterfaceLanguage].unsupportedBrowser); - - if(typeof globalDemoMode!='undefined') - { - if(typeof globalDemoMode.userName!=undefined) - $('[data-type="system_username"]').val(globalDemoMode.userName).change(); - if(typeof globalDemoMode.userPassword!=undefined) - $('[data-type="system_password"]').val(globalDemoMode.userPassword).change(); - } - - loadConfig(); -} - -function run() -{ - isUserLogged=true; - window.onfocus=function(){globalWindowFocus=true;} - window.onblur=function(){if(globalSettings.backgroundsync.value==false) globalWindowFocus=false;} - $('#LoginPage').fadeOut(2000); - - if(typeof globalAccountSettings=='undefined') - { - console.log('Error: \'no account configured\': see config.js!'); - return false; - } - - if(typeof globalNewVersionNotifyUsers=='undefined' || globalNewVersionNotifyUsers!=null) - netVersionCheck(); - - document.title+=' ['+globalAccountSettings[0].userAuth.userName+']'; - // Automatically detect crossDomain settings - var detectedHref=location.protocol+'//'+location.hostname+(location.port ? ':'+location.port : ''); - for(var i=0;i<globalAccountSettings.length;i++) - { - if(globalAccountSettings[i].crossDomain==undefined || typeof globalAccountSettings[i].crossDomain!='boolean') - { - if(globalAccountSettings[i].href.indexOf(detectedHref)==0) - globalAccountSettings[i].crossDomain=false; - else - globalAccountSettings[i].crossDomain=true; - - console.log("Info: [userAccount: '"+globalAccountSettings[i].href.replace('\/\/', '//'+globalAccountSettings[i].userAuth.userName+'@')+"']: crossDomain set to: '"+(globalAccountSettings[i].crossDomain==true ? 'true' : 'false')+"'"); - } - } - - if(typeof globalAvailableAppsArray!='undefined' && globalAvailableAppsArray!=null && globalAvailableAppsArray.length>1) { - // show integration banner - $('.integration_d').css('display', 'block'); - - // show app buttons for available apps only - if(globalAvailableAppsArray.indexOf('CalDavZAP')!=-1) - $('#intCaldav').attr('title',localization[globalInterfaceLanguage].txtCalendars).css('display', 'block').find('.int_error').attr('alt',localization[globalInterfaceLanguage].txtError); - if(globalAvailableAppsArray.indexOf('CalDavTODO')!=-1) - $('#intCaldavTodo').attr('title',localization[globalInterfaceLanguage].txtTodos).css('display', 'block').find('.int_error').attr('alt',localization[globalInterfaceLanguage].txtError); - if(globalAvailableAppsArray.indexOf('CardDavMATE')!=-1) - $('#intCarddav').attr('title',localization[globalInterfaceLanguage].txtContacts).css('display', 'block').find('.int_error').attr('alt',localization[globalInterfaceLanguage].txtError); - if(globalAvailableAppsArray.indexOf('Projects')!=-1) - $('#intProjects').attr('title',localization[globalInterfaceLanguage].txtProjects).css('display', 'block').find('.int_error').attr('alt',localization[globalInterfaceLanguage].txtError); - if(globalAvailableAppsArray.indexOf('Reports')!=-1) - $('#intReports').attr('title',localization[globalInterfaceLanguage].txtReports).css('display', 'block').find('.int_error').attr('alt',localization[globalInterfaceLanguage].txtError); - if(globalAvailableAppsArray.indexOf('Settings')!=-1) - $('#intSettings').attr('title',localization[globalInterfaceLanguage].txtSettings).css('display', 'block').find('.int_error').attr('alt',localization[globalInterfaceLanguage].txtError); - - // show the refresh button - if(typeof globalEnableRefresh==='boolean' && globalEnableRefresh && (globalAvailableAppsArray.indexOf('CalDavZAP')!=-1 || globalAvailableAppsArray.indexOf('CalDavTODO')!=-1 || globalAvailableAppsArray.indexOf('CardDavMATE')!=-1)) { - $('#intRefresh').attr('title',localization[globalInterfaceLanguage].txtRefresh).find('.int_error').attr('alt',localization[globalInterfaceLanguage].txtError); - $('#intRefresh').prev().addBack().css('display', 'block'); - } - } - - $('#cacheDialogText').text(localization[globalInterfaceLanguage].txtCacheText); - $('#cacheDialogButton').attr('value',localization[globalInterfaceLanguage].txtCacheButton); -} - -function loadConfig() -{ - if(isUserLogged)// !!!!!! kedy moze toto nastat? nexapem ... - return false; - - var configLoaded=true; - // Automatically detect crossDomain settings - var detectedHref=location.protocol+'//'+location.hostname+(location.port ? ':'+location.port : ''); - - // check username and password against the server and create config from globalNetworkCheckSettings - if(typeof globalNetworkCheckSettings!='undefined' && globalNetworkCheckSettings!=null) - { - if(globalLoginUsername=='') - { - $('#LoginPage').fadeTo(500, 1, function(){if(typeof globalDemoMode=='undefined') $('[data-type="system_username"]').focus()}); - $('#LoginLoader').fadeOut(1200); - return false; - } - else - { - if(globalNetworkCheckSettings.crossDomain==undefined || typeof globalNetworkCheckSettings.crossDomain!='boolean') - { - if(globalNetworkCheckSettings.href.indexOf(detectedHref)==0) - globalNetworkCheckSettings.crossDomain=false; - else - globalNetworkCheckSettings.crossDomain=true; - - console.log("Info: [globalNetworkCheckSettings: '"+globalNetworkCheckSettings.href+"']: crossDomain set to: '"+(globalNetworkCheckSettings.crossDomain==true ? 'true' : 'false')+"'"); - } - -// !!!! preco sa riesi s logout buttonom prave tu? - // show the logout button - if(typeof globalAvailableAppsArray!='undefined' && globalAvailableAppsArray!=null && globalAvailableAppsArray.length>1) { - $('#intLogout').prev().addBack().css('display', 'block'); - $('#intLogout').attr('title',localization[globalInterfaceLanguage].altLogout); - } - else { - $('#Logout').css('display', 'block'); - } - - netCheckAndCreateConfiguration(globalNetworkCheckSettings); - return true; - } - } - - // load the configuration XML(s) from the network - if(typeof globalNetworkAccountSettings!='undefined' && globalNetworkAccountSettings!=null) - { - if(globalLoginUsername=='') - { - $('#LoginPage').fadeTo(500, 1, function(){if(typeof globalDemoMode=='undefined') $('[data-type="system_username"]').focus()}); - $('#LoginLoader').fadeOut(1200); - return false; - } - else - { - if(globalNetworkAccountSettings.crossDomain==undefined || typeof globalNetworkAccountSettings.crossDomain!='boolean') - { - if(globalNetworkAccountSettings.href.indexOf(detectedHref)==0) - globalNetworkAccountSettings.crossDomain=false; - else - globalNetworkAccountSettings.crossDomain=true; - - console.log("Info: [globalNetworkAccountSettings: '"+globalNetworkAccountSettings.href+"']: crossDomain set to: '"+(globalNetworkAccountSettings.crossDomain==true ? 'true' : 'false')+"'"); - } -// !!!! preco sa riesi s logout buttonom prave tu? - // show the logout button - if(typeof globalAvailableAppsArray!='undefined' && globalAvailableAppsArray!=null && globalAvailableAppsArray.length>1) { - $('#intLogout').prev().addBack().css('display', 'block'); - $('#intLogout').attr('title',localization[globalInterfaceLanguage].altLogout); - } - else { - $('#Logout').css('display', 'block'); - } - - netLoadConfiguration(globalNetworkAccountSettings); - return true; - } - } - - if((typeof globalNetworkAccountSettings=='undefined' || globalNetworkAccountSettings==null) && (typeof globalNetworkCheckSettings=='undefined' || globalNetworkCheckSettings==null) && (typeof globalAccountSettings!='undefined' && globalAccountSettings!=null) && globalAccountSettings.length>0) - { - var delegCount=0, delegIndex=0; - if(!isDelegationLoaded) - { - for(var i=0; i<globalAccountSettings.length; i++) - if((typeof globalAccountSettings[i].delegation=='boolean' && globalAccountSettings[i].delegation) || (globalAccountSettings[i].delegation instanceof Array && globalAccountSettings[i].delegation.length>0)) - delegIndex=i; - for(var i=0; i<globalAccountSettings.length; i++) - if((typeof globalAccountSettings[i].delegation=='boolean' && globalAccountSettings[i].delegation) || (globalAccountSettings[i].delegation instanceof Array && globalAccountSettings[i].delegation.length>0)) - { - delegCount++; - DAVresourceDelegation(globalAccountSettings[i], i, delegIndex); - } - if(delegCount>0) - isDelegationLoaded = true; - } - if(delegCount==0 && !isDelegationLoaded) - { - // start the client - if(isAvaible('CardDavMATE')) - runCardDAV(); - if(isAvaible('CalDavZAP')) - runCalDAV(); - if(isAvaible('Projects')) - runProjects(); - if(isAvaible('Settings')) - runSettings(); - - globalResourceNumber=globalAccountSettings.length; - loadAllResources(); - } - } -} - -function globalMain() -{ - for(var prop in globalSettings) - globalDefinedSettings.push(prop); - - if(typeof globalEnabledApps=='undefined' || globalEnabledApps==null) - { - if(typeof isCalDAVAvaible!='undefined' && isCalDAVAvaible!=null && isCalDAVAvaible) - { - globalAvailableAppsArray[globalAvailableAppsArray.length]='CalDavZAP'; - globalAvailableAppsArray[globalAvailableAppsArray.length]='CalDavTODO'; - } - if(typeof isCardDAVAvaible!='undefined' && isCardDAVAvaible!=null && isCardDAVAvaible) - globalAvailableAppsArray[globalAvailableAppsArray.length]='CardDavMATE'; - if(typeof isSettingsAvaible!='undefined' && isSettingsAvaible!=null && isSettingsAvaible) - globalAvailableAppsArray[globalAvailableAppsArray.length]='Settings'; - if(typeof isProjectsAvaible!='undefined' && isProjectsAvaible!=null && isProjectsAvaible) - globalAvailableAppsArray[globalAvailableAppsArray.length]='Projects'; - if(typeof isReportsAvaible!='undefined' && isReportsAvaible!=null && isReportsAvaible) - globalAvailableAppsArray[globalAvailableAppsArray.length]='Reports'; - } - else - { - if(typeof isCalDAVAvaible!='undefined' && isCalDAVAvaible!=null && isCalDAVAvaible && (globalEnabledApps.indexOf('CalDavZAP')!=-1 || globalEnabledApps.indexOf('CalDavTODO')!=-1 )) - { - globalAvailableAppsArray[globalAvailableAppsArray.length]='CalDavZAP'; - globalAvailableAppsArray[globalAvailableAppsArray.length]='CalDavTODO'; - } - if(typeof isCardDAVAvaible!='undefined' && isCardDAVAvaible!=null && isCardDAVAvaible && globalEnabledApps.indexOf('CardDavMATE')!=-1) - globalAvailableAppsArray[globalAvailableAppsArray.length]='CardDavMATE'; - if(typeof isSettingsAvaible!='undefined' && isSettingsAvaible!=null && isSettingsAvaible && globalEnabledApps.indexOf('Settings')!=-1) - globalAvailableAppsArray[globalAvailableAppsArray.length]='Settings'; - if(typeof isProjectsAvaible!='undefined' && isProjectsAvaible!=null && isProjectsAvaible && globalEnabledApps.indexOf('Projects')!=-1) - globalAvailableAppsArray[globalAvailableAppsArray.length]='Projects'; - if(typeof isReportsAvaible!='undefined' && isReportsAvaible!=null && isReportsAvaible) - globalAvailableAppsArray[globalAvailableAppsArray.length]='Reports'; - } - - if(globalAvailableAppsArray.length>1) - isIntegrated=true; - - if(globalSettings.defaultactiveapp.value==null) - { - if(isAvaible('CardDavMATE')) - globalActiveApp='CardDavMATE'; - else if(isAvaible('CalDavZAP')) - globalActiveApp='CalDavZAP'; - } - else - globalActiveApp=globalSettings.defaultactiveapp.value; - - if(isAvaible('CardDavMATE')) - { - // Modify available inputs before making additional changes to vCard form - if(typeof globalDisabledContactAttributes!='undefined' && globalDisabledContactAttributes instanceof Array) - for(var i=0;i<globalDisabledContactAttributes.length;i++) - $('#vCardTemplate').find('[data-attr-name="'+jqueryEscapeSelector(globalDisabledContactAttributes[i])+'"]').remove(); - - // hook for vCard template extension - if(typeof(globalContactsExtInitMain)=='function') - globalContactsExtInitMain($('#vCardTemplate')); - } - - /*************************** BAD HACKS SECTION ***************************/ - // here we fix the cross OS/cross broser problems (unfixable in pure CSS) - if($.browser.webkit && !!window.chrome) /* Chrome */ - { - if(navigator.platform.toLowerCase().indexOf('win')==0) /* Windows version */ - { - $('#LoginPage, #vCardTemplate, #event_details_template, #todo_details_template, #EditorBoxSettings').find('input').css('text-indent', '2px'); - $('#LoginPage, #vCardTemplate, #event_details_template, #todo_details_template, #EditorBoxSettings').find('select').css({'padding-left': '0px', 'padding-right': '13px'}); - } - else /* non-Windows version */ - $('#LoginPage, #vCardTemplate, #event_details_template, #todo_details_template, #EditorBoxSettings').find('input').css('text-indent', '1px'); - } - else if($.browser.safari) - { - $('#LoginPage, #vCardTemplate, #event_details_template, #todo_details_template, #EditorBoxSettings').find('textarea').addClass('safari_hack'); - $('#LoginPage, #vCardTemplate, #event_details_template, #todo_details_template, #EditorBoxSettings').find('input').addClass('safari_hack'); - } - else if($.browser.msie) /* IE */ - { - if(parseInt($.browser.version, 10)==10) /* IE 10 (because there are no more conditional comments) */ - { - $('select').css({'padding-top': '1px', 'padding-left': '0px', 'padding-right': '0px'}); - $('textarea').css('padding-top', '3px'); - $('input[type=button]').css('padding-top', '2px'); - } - - // ADD SVG to login screen - var newSVG=$(SVG_select_login).attr('data-type', 'select_icon').css({'pointer-events': 'none', 'z-index': '1', 'display': 'inline', 'margin-left': '-19px', 'vertical-align': 'top', 'background-color': '#ffffff'}); // background-color = stupid IE9 bug - $('#Login').find('select[data-type="language"]').after($($('<div>').append($(newSVG).clone()).html())); - } - else if($.browser.mozilla) - { - // ADD SVG to login screen - var newSVG=$(SVG_select_login).attr('data-type', 'select_icon').css({'pointer-events': 'none', 'z-index': '1', 'display': 'inline', 'margin-left': '-19px', 'vertical-align': 'top', 'background-color': '#ffffff'}); // background-color = stupid IE9 bug - $('#Login').find('select[data-type="language"]').after($($('<div>').append($(newSVG).clone()).html())); - } - /*************************** END OF BAD HACKS SECTION ***************************/ - - /* language selector */ - var lang_num=0; - var language_option=$('#Login').find('[data-type="language"]').find('option'); - $('#Login').find('[data-type="language"]').html(''); - - if(typeof globalInterfaceCustomLanguages!='undefined' && globalInterfaceCustomLanguages.length!=undefined && globalInterfaceCustomLanguages.length>0) - { - for(var i=0; i<globalInterfaceCustomLanguages.length; i++) - if(localization[globalInterfaceCustomLanguages[i]]!=undefined) - { - var tmp=language_option; - tmp.attr('data-type',globalInterfaceCustomLanguages[i]); - tmp.text(localization[globalInterfaceCustomLanguages[i]]['_name_']); - $('#Login').find('[data-type="language"]').append(tmp.clone()); - lang_num++; - } - } - - if(lang_num==0) // no language option, use the default (all languages from localization.js) - for(var loc in localization) - { - var tmp=language_option; - tmp.attr('data-type',loc); - tmp.text(localization[loc]['_name_']); // translation - $('#Login').find('[data-type="language"]').append(tmp.clone()); - } - - // select the globalInterfaceLanguage in the interface - $('[data-type="language"]').find('[data-type='+globalInterfaceLanguage+']').prop('selected',true); - - // set login screen logo - if(isAvaible('CalDavZAP') && !isAvaible('CardDavMATE')) - { - $('[data-size="login_logo"]').find('img').attr('src', "images/cdz_logo.svg"); - $('#LoginPage').find('.footer').text('CalDavZAP - the open source CalDAV web client'); - } - else if(isAvaible('CardDavMATE') && !isAvaible('CalDavZAP')) - { - $('[data-size="login_logo"]').find('img').attr('src', "images/cdm_logo.svg"); - $('#LoginPage').find('.footer').text('CardDavMATE - the open source CardDAV web client'); - } - else - { - $('#Login').css('margin-top', '41px'); - $('[data-size="login_logo"]').find('img').attr('src', "images/infcloud_logo.svg"); - $('#LoginPage').find('.footer').text('InfCloud - the open source CalDAV/CardDAV web client'); - } - $('#LoginPage').find('.footer').attr('title', globalVersion); - - if(isAvaible('CardDavMATE')) - globalMainCardDAV(); - if(isAvaible('CalDavZAP')) - globalMainCalDAV(); - if(isAvaible('Projects')) - globalMainProjects(); - if(isAvaible('Reports')) - globalMainReports(); - if(isAvaible('Settings')) - globalMainSettings(); - - if(isAvaible('CardDavMATE')) - mainCardDAV(); - if(isAvaible('CalDavZAP')) - mainCalDAV(); - if(isAvaible('Projects')) - mainProjects(); - if(isAvaible('Reports')) - mainReports(); - if(isAvaible('Settings')) - mainSettings(); - - init(); -} - -function saveSettings(isFormSave) -{ - - if(globalSettings.islastdefaultactiveapp.value) - globalSettings.defaultactiveapp.value=globalActiveApp; - - globalSettings.version.value=globalSettingsVersion; - - var rex = new RegExp('^(https?://)([^@/]+(?:@[^@/]+)?)@(.*)'); - if(isAvaible('CalDavZAP')) - { - globalSettings.activecalendarcollections.value.splice(0, globalSettings.activecalendarcollections.value.length); - globalSettings.activetodocollections.value.splice(0, globalSettings.activetodocollections.value.length); - globalSettings.todolistfilterselected.value.splice(0, globalSettings.todolistfilterselected.value.length); - - for(var i=0;i<globalVisibleCalDAVCollections.length;i++) - { - var uidParts=globalVisibleCalDAVCollections[i].match(rex) - globalSettings.activecalendarcollections.value.splice(globalSettings.activecalendarcollections.value.length , 0, uidParts[1]+uidParts[3]); - } - - for(var i=0;i<globalVisibleCalDAVTODOCollections.length;i++) - { - var uidParts=globalVisibleCalDAVTODOCollections[i].match(rex); - globalSettings.activetodocollections.value.splice(globalSettings.activetodocollections.value.length , 0, uidParts[1]+uidParts[3]); - } - if(globalSettings.islastactiveview.value) - { - var view= $('#calendar').fullCalendar('getView'); - globalSettings.activeview.value=view.name; - } - - if(globalSettings.islasttimezone.value) - globalSettings.timezone.value=globalSessionTimeZone; - - var uidSelected=$('#ResourceCalDAVList').find('.resourceCalDAV_item_selected').attr('data-id'); - if(uidSelected!=undefined && uidSelected!='') - { - var par=uidSelected.split('/'); - globalSettings.calendarselected.value=par[par.length-3]+'/'+par[par.length-2]+'/'; - } - - uidSelected=$('#ResourceCalDAVTODOList').find('.resourceCalDAV_item_selected').attr('data-id'); - if(uidSelected!=undefined && uidSelected!='') - { - var par=uidSelected.split('/'); - globalSettings.todocalendarselected.value=par[par.length-3]+'/'+par[par.length-2]+'/'; - } - - var filterArray = $('.fc-filter-option-selected'); - for(var i=0; i<filterArray.length; i++) - globalSettings.todolistfilterselected.value.splice(globalSettings.todolistfilterselected.value.length,0,$($('.fc-filter-option-selected')[i]).attr('data-type')); - } - - if(isAvaible('CardDavMATE')) - { - globalSettings.activeaddressbookcollections.value.splice(0, globalSettings.activeaddressbookcollections.value.length); - var visAddrs = dataGetChecked('#ResourceCardDAVList'); - for(var i=0;i<visAddrs.length;i++) - { - if(visAddrs[i]!='undefined') - { - var uidPart=visAddrs[i].match(RegExp('^(https?://)(.*)', 'i'))[1]; - var uidPart2= visAddrs[i].match(RegExp('^(https?://)(.*)', 'i'))[2].split('@')[2]; - globalSettings.activeaddressbookcollections.value.splice(globalSettings.activeaddressbookcollections.value.length , 0, uidPart+uidPart2); - } - } - - if($('#ResourceCardDAVList').find('.group.resourceCardDAV_selected').length>0) - var uidASelected=$('#ResourceCardDAVList').find('.group.resourceCardDAV_selected').attr('data-id'); - else if($('#ResourceCardDAVList').find('.resourceCardDAV_selected').length>0) - var uidASelected=$('#ResourceCardDAVList').find('.resourceCardDAV_selected').attr('data-id'); - else - var uidASelected=''; - if(uidASelected!=undefined && uidASelected!='') - globalSettings.addressbookselected.value=uidASelected; - } - if(isAvaible('Settings') && isFormSave) - return applyFormSettings(); - else - return globalSettings; -} - -function loadXMLSetings(settingsXML) -{ - $(settingsXML).children().each( - function(ind,elm) - { - var type = $(elm).attr('type'); - var locked = typeof $(elm).attr('locked')!='undefined'&&$(elm).attr('locked')!=null&&$(elm).attr('locked')=='true' ? true : false; - if(typeof globalSettings[$(elm).prop('tagName').toLowerCase()] == 'undefined') - return true; - if(locked) - globalSettings[$(elm).prop('tagName').toLowerCase()].locked=true; - - if($(elm).children().length>0) - { - globalSettings[$(elm).prop('tagName').toLowerCase()].value = new Array(); - $(elm).children().each(function(pind,pelm) - { - if($(elm).prop('tagName').toLowerCase() == 'urihandlerprofile') - { - globalSettings[$(elm).prop('tagName').toLowerCase()].value = {}; - globalSettings[$(elm).prop('tagName').toLowerCase()].value[$(pelm).text().toLowerCase()] = $(pelm).attr('url'); - } - else if($(elm).prop('tagName').toLowerCase() == 'addresscountryequivalence') - { - var eqObject = {}; - eqObject['country'] = $(pelm).attr('name'); - eqObject['regex'] = $(pelm).attr('regex'); - globalSettings[$(elm).prop('tagName').toLowerCase()].value.push(eqObject); - } - else if($(elm).prop('tagName').toLowerCase() == 'compatibility') - { - globalSettings[$(elm).prop('tagName').toLowerCase()].value = {}; - globalSettings[$(elm).prop('tagName').toLowerCase()].value[$(pelm).attr('name')] = new Array(); - $(pelm).children().each(function(rind,relm) - { - globalSettings[$(elm).prop('tagName').toLowerCase()].value[$(pelm).attr('name')].push($(relm).text()); - }); - } - else if($(pelm).text()!='') - { - switch(type) - { - case 'integer': - globalSettings[$(elm).prop('tagName').toLowerCase()].value.push(parseInt($(pelm).text(),10)); - break; - case 'string': - if($(pelm).text()!='null') - globalSettings[$(elm).prop('tagName').toLowerCase()].value.push($(pelm).text()); - else - globalSettings[$(elm).prop('tagName').toLowerCase()].value.push(null); - break; - case 'boolean': - if($(pelm).text() == 'true') - globalSettings[$(elm).prop('tagName').toLowerCase()].value.push(true); - else - globalSettings[$(elm).prop('tagName').toLowerCase()].value.push(false); - break; - default: - break; - } - } - }); - } - else if($(elm).text()!='') - { - switch(type) - { - case 'integer': - globalSettings[$(elm).prop('tagName').toLowerCase()].value = parseInt($(elm).text(),10); - break; - case 'string': - if($(elm).text()!='null') - globalSettings[$(elm).prop('tagName').toLowerCase()].value = $(elm).text(); - else - globalSettings[$(elm).prop('tagName').toLowerCase()].value = null; - break; - case 'boolean': - if($(elm).text() == 'true') - globalSettings[$(elm).prop('tagName').toLowerCase()].value = true; - else if($(elm).text() == 'false') - globalSettings[$(elm).prop('tagName').toLowerCase()].value = false; - break; - default: - break; - } - } - }); -} - -function applyServerSettings(inputSettings) -{ - if(typeof inputSettings.activecalendarcollections == 'undefined' || inputSettings.activecalendarcollections==null) - inputSettings.activecalendarcollections = new Array(); - - if(typeof inputSettings.activetodocollections == 'undefined' || inputSettings.activetodocollections==null) - inputSettings.activetodocollections = new Array(); - - if(typeof inputSettings.loadedcalendarcollections == 'undefined' || inputSettings.loadedcalendarcollections==null) - { - inputSettings.loadedcalendarcollections = new Array(); - if(isAvaible('CalDavZAP')) - $('#showUnloadedCalendars').css('display','none'); - } - - if(typeof inputSettings.loadedtodocollections == 'undefined' || inputSettings.loadedtodocollections==null) - { - inputSettings.loadedtodocollections = new Array(); - if(isAvaible('CalDavZAP')) - $('#showUnloadedCalendarsTODO').css('display','none'); - } - if(typeof inputSettings.activeaddressbookcollections == 'undefined' || inputSettings.activeaddressbookcollections==null) - inputSettings.activeaddressbookcollections = new Array(); - - if(typeof inputSettings.loadedaddressbookcollections == 'undefined' || inputSettings.loadedaddressbookcollections==null) - { - inputSettings.loadedaddressbookcollections = new Array(); - if(isAvaible('CardDavMATE')) - $('#showUnloadedAddressbooks').css('display','none'); - } - - transformSettings(inputSettings); - - for(var prop in inputSettings) - { - if(globalDefinedSettings.indexOf(prop)==-1 || (typeof globalPreviousSupportedSettings !='undefined' && globalPreviousSupportedSettings.indexOf(prop)==-1)) - { - if(globalDefinedSettings.indexOf(prop)==-1) - console.log('Warning: Unsupported property: \''+prop+'\' (you can safely ignore this message)'); - continue; - } - if(typeof globalSettings[prop] !='undefined' && !globalSettings[prop].locked) - globalSettings[prop].value=inputSettings[prop]; - } -} - -function transformSettings(settings) { - if(!settings.version) { - settings.version = 1; - } - - while(settings.version<globalSettingsVersion) { - console.log('Warning: Detected outdated server settings (version ' + settings.version++ +') - transforming to version ' + settings.version); - - switch(settings.version) { - case 2: - if(typeof globalActiveCalendarCollections!='undefined' && globalActiveCalendarCollections!=null) - settings.activecalendarcollections=globalActiveCalendarCollections.slice(); - else - settings.activecalendarcollections.splice(0, settings.activecalendarcollections.length); - - if(typeof globalActiveTodoCollections!='undefined' && globalActiveTodoCollections!=null) - settings.activetodocollections=globalActiveTodoCollections.slice(); - else - settings.activetodocollections.splice(0, settings.activetodocollections.length); - - if(typeof globalLoadedCalendarCollections!='undefined' && globalLoadedCalendarCollections!=null) - settings.loadedcalendarcollections=globalLoadedCalendarCollections.slice(); - else - settings.loadedcalendarcollections.splice(0, settings.loadedcalendarcollections.length); - - if(typeof globalLoadedTodoCollections!='undefined' && globalLoadedTodoCollections!=null) - settings.loadedtodocollections=globalLoadedTodoCollections.slice(); - else - settings.loadedtodocollections.splice(0, settings.loadedtodocollections.length); - - if(typeof globalActiveAddressbookCollections!='undefined' && globalActiveAddressbookCollections!=null) - settings.activeaddressbookcollections=globalActiveAddressbookCollections.slice(); - else - settings.activeaddressbookcollections.splice(0, settings.activeaddressbookcollections.length); - - if(typeof globalLoadedAddressbookCollections!='undefined' && globalLoadedAddressbookCollections!=null) - settings.loadedaddressbookcollections=globalLoadedAddressbookCollections.slice(); - else - settings.loadedaddressbookcollections.splice(0, settings.loadedaddressbookcollections.length); - - if(typeof globalContactStoreFN!='undefined' && globalContactStoreFN!=null) - settings.contactstorefn=globalContactStoreFN.slice(); - else - settings.contactstorefn=['prefix', ' last', ' middle', ' first', ' suffix']; - break; - case 3: - settings.collectiondisplay=(typeof globalCollectionDisplay!='undefined' && globalCollectionDisplay!=null && globalCollectionDisplay!='') ? globalCollectionDisplay : ( - (typeof globalGroupContactsByCompanies!='undefined' && globalGroupContactsByCompanies) ? - [{label: '{Name}', value: {company: ['{Company}', ' [{Department}]'], personal: ['{LastName}', ' {MiddleName}', ' {FirstName}']}}, {label: '{JobTitle}', value: ['{JobTitle}']}, {label: '{Email}', value: ['{Email[:0]}']}, {label: '{Phone} 1', value: ['{Phone[:0]}']}, {label: '{Phone} 2', value: ['{Phone[:1]}']}, {label: '{NoteText}', value: ['{NoteText}']}] : - [{label: '{Name}', value: ['{LastName}', ' {MiddleName}', ' {FirstName}']}, {label: '{Company} [{Department}]', value: ['{Company}', ' [{Department}]']}, {label: '{JobTitle}', value: ['{JobTitle}']}, {label: '{Email}', value: ['{Email[:0]}']}, {label: '{Phone} 1', value: ['{Phone[:0]}']}, {label: '{Phone} 2', value: ['{Phone[:1]}']}, {label: '{NoteText}', value: ['{NoteText}']}] - ); - - settings.collectionsort=(typeof globalCollectionSort!='undefined' && globalCollectionSort!=null && globalCollectionSort!='') ? globalCollectionSort : ''; - break; - default: - break; - } - } -} - -function loadSettings(strobj, fromServer, syncMode) -{ - if(settingsLoaded && !syncMode) - return false; - try - { - objNew = jQuery.parseJSON(strobj); - if(typeof objNew=='object') - { - if(!syncMode && typeof globalSettingsXML!='undefined' && globalSettingsXML!=null && globalSettingsXML!='') - loadXMLSetings($(globalSettingsXML)); - if(fromServer) - applyServerSettings(objNew); -// $.extend(globalSettings,objNew); - } - } - catch(err) - { - console.log('load settings - JSON parsing error: '+err); - delete globalSettings.version.value; - loadSettings(JSON.stringify(globalSettings), false, false); - return false; - } - if(syncMode) - return false; - if(isAvaible('CalDavZAP')) - { - for(var i=0;i<globalSettings.timezonesenabled.value.length;i++) - if(timeZonesEnabled.indexOf(globalSettings.timezonesenabled.value[i])==-1) - timeZonesEnabled.push(globalSettings.timezonesenabled.value[i]); - - if(globalSettings.timezonesupport.value) - { - globalSessionTimeZone=globalSettings.timezone.value; - if(globalSessionTimeZone != null && timeZonesEnabled.indexOf(globalSessionTimeZone)==-1) - timeZonesEnabled.push(globalSessionTimeZone); - } - else - { - globalSessionTimeZone = 'local'; - timeZonesEnabled.push('local'); - } - - initTimepicker(globalSettings.ampmformat.value); - - if(globalSettings.timeformatagenda.value==null) - { - if(globalSettings.ampmformat.value) - globalSettings.timeformatagenda.value='h:mm TT{ - h:mm TT}'; - else - globalSettings.timeformatagenda.value='H:mm{ - H:mm}'; - } - - if(globalSettings.timeformatbasic.value==null) - { - if(globalSettings.ampmformat.value) - globalSettings.timeformatbasic.value = 'h:mmT{-h:mmT}'; - else - globalSettings.timeformatbasic.value = 'H:mm{-H:mm}'; - } - - if(globalSettings.appleremindersmode.value) - { - if(globalSettings.todolistfilterselected.value.indexOf('filterAction')==-1 && globalSettings.todolistfilterselected.value.indexOf('filterCompleted')==-1) - { - if(globalSettings.todolistfilterselected.value.indexOf('filterProgress')!=-1) - globalSettings.todolistfilterselected.value[globalSettings.todolistfilterselected.value.indexOf('filterProgress')] = 'filterAction'; - if(globalSettings.todolistfilterselected.value.indexOf('filterCanceled')!=-1) - globalSettings.todolistfilterselected.value[globalSettings.todolistfilterselected.value.indexOf('filterCanceled')] = 'filterAction'; - } - } - if(globalSettings.eventstartfuturelimit.value == null) - { - var now=new Date(); - globalToLoadedLimit = new Date(now.getFullYear(), now.getMonth()+12, 1, 0, 0, 0); - globalToLoadedLimit.setMilliseconds(0); - globalBeginFuture = new Date(globalToLoadedLimit.getTime()); - globalBeginFuture.setDate(globalBeginFuture.getDate()+14); - globalToLoadedLimitTodo = new Date(now.getFullYear(), now.getMonth()+12, 1, 0, 0, 0); - globalToLoadedLimitTodo.setMilliseconds(0); - } - if(globalSettings.enablekbnavigation.value!==false) - initKbTodoNavigation(); - initFullCalendar(); - initTodoList(); - - $('#SystemCalDavZAP .fc-header-title').css('width', $('#main_h_placeholder').width()-$('#SystemCalDavZAP .fc-header-left').outerWidth()-$('#SystemCalDavZAP .fc-header-right').outerWidth()); - $('#ResourceCalDAVList, #ResourceCalDAVTODOList').css('bottom',(globalSettings.timezonesupport.value ? 20 : 0)); - $('#alertBox').css('left', ($(window).width()/2)-($('#alertBox').width()/2)); - } - if(isAvaible('CardDavMATE')) - { - // set ABListTableLayout - globalRefAbListTableHeader = $('#ABListTable').find('.ablist_table_header'); - var colgroups = $('#ABListTable').find('colgroup'); - - for(var i=0; i<getDataColumnCount(); i++) { - globalRefAbListTableHeader.append('<th>'); - colgroups.append('<col>'); - } - - globalRefAbListTableHeader.children().slice(globalFixedContactDataColumnsCount).each(function(ind) { - $(this).text(getDataColumnLabelAtIndex(ind)); - }); - - globalRefABListTableCols=$('#ABListTable').find('colgroup').first().children(); - globalRefABListInnerTableCols=$('#ABListTableInner').find('colgroup').children(); - $('#ABListTable').find('.ablist_table_container').children().attr('colspan', getDataColumnCount()+globalFixedContactDataColumnsCount); - globalRefABListTable.children('.ablist_header').children().attr('colspan', getDataColumnCount()+globalFixedContactDataColumnsCount); - - if(!globalOrigABListHeader) { - globalOrigABListHeader=globalRefABListTable.children('.ablist_header').remove(); - } - if(!globalOrigABListItem) { - globalOrigABListItem=globalRefABListTable.children('.ablist_item').remove(); - } - - if(globalSettings.enablekbnavigation.value!==false) - initKbAddrNavigation(); - - applyAddrSettings(globalTranslVcardTemplate); - applyAddrSettings($('#vCardEditor')); - } - if(isAvaible('Projects')) - if(globalSettings.enablekbnavigation.value!==false) - initKbProjectNavigation(); - settingsLoaded=true; - if(!isAvaible(globalSettings.defaultactiveapp.value)) - globalActiveApp = globalAvailableAppsArray[0]; - else - globalActiveApp = globalSettings.defaultactiveapp.value; -} - -function checkForLoadedCollections(inputSettings) -{ - var val='', triggerSync=true; - globalLoadedCollectionsNumber=0; - globalLoadedCollectionsCount=0; - if(globalSettingsSaving=='event') - { - hideUnloadedCollections('event'); - val = inputSettings.loadedcalendarcollections.value; - if(val.length>0) - globalLoadedCollectionsNumber+=$(val).not(globalSettings.loadedcalendarcollections.value).length; - else - globalLoadedCollectionsNumber++; - if($(globalSettings.loadedcalendarcollections.value).not(val).length>0) - { - if(globalLoadedCollectionsNumber==0) - { - triggerSync=false; - globalFirstHideLoader=false; - } - var unloadArray = $(globalSettings.loadedcalendarcollections.value).not(val); - unloadCalDAVCollection(unloadArray.toArray(),true); - } - if(triggerSync) - addLoadCalDAVCollection(val, true); - globalSettings.loadedcalendarcollections.value = val; - } - else if(globalSettingsSaving=='todo') - { - hideUnloadedCollections('todo'); - val = inputSettings.loadedtodocollections.value; - if(val.length>0) - globalLoadedCollectionsNumber+=$(val).not(globalSettings.loadedtodocollections.value).length; - else - globalLoadedCollectionsNumber++; - if($(globalSettings.loadedtodocollections.value).not(val).length>0) - { - if(globalLoadedCollectionsNumber==0) - { - triggerSync=false; - globalFirstHideLoader=false; - } - var unloadArray = $(globalSettings.loadedtodocollections.value).not(val); - unloadCalDAVCollection(unloadArray.toArray(),false); - } - if(triggerSync) - addLoadCalDAVCollection(val, false); - globalSettings.loadedtodocollections.value = val; - } - else if(globalSettingsSaving=='addressbook') - { - hideUnloadedCardDAVCollections(); - val = inputSettings.loadedaddressbookcollections.value; - if(val.length>0) - globalLoadedCollectionsNumber+=$(val).not(globalSettings.loadedaddressbookcollections.value).length; - else - globalLoadedCollectionsNumber++; - if($(globalSettings.loadedaddressbookcollections.value).not(val).length>0) - { - if(globalLoadedCollectionsNumber==0) - { - triggerSync=false; - globalFirstHideLoader=false; - } - var unloadArray = $(globalSettings.loadedaddressbookcollections.value).not(val); - unloadCardDAVCollection(unloadArray.toArray()); - } - if(triggerSync) - addLoadCardDAVCollection(val) - globalSettings.loadedaddressbookcollections.value = val; - } - if(triggerSync) - ifLoadCollections(); -} - -function checkBeforeClose(isFormSave) -{ - if((isAvaible('CalDavZAP') && globalCalDAVInitLoad) || (isAvaible('CardDavMATE') && globalCardDAVInitLoad)) - return false; - var old_settings=JSON.stringify(globalSettings); - var settings=saveSettings(isFormSave); - var new_settings = JSON.stringify(settings); - if(old_settings == new_settings) - return false; - for(var i=0;i<globalAccountSettings.length;i++) - if(globalAccountSettings[i].href.indexOf(globalLoginUsername)!=-1 && globalAccountSettings[i].settingsAccount) - { - netSaveSettings(globalAccountSettings[i], settings, isFormSave,false); - break; - } -} - -function isEachResourceLoaded() -{ - var loaded = true; - for(var i=0; i< globalAccountSettings.length; i++) - if(typeof globalAccountSettings[i].errorLoaded!='undefined' && globalAccountSettings[i].errorLoaded!=null && globalAccountSettings[i].errorLoaded===true) - loaded=false; - return loaded; -} - -window.onload=globalMain; - -window.onkeydown=function(event) -{ - switch(event.which) { - case 13: - if(!isUserLogged) - $('#Login').find('[data-type="system_login"]').trigger('click'); - break; - case 27: - if(globalActiveApp=='CalDavZAP' && $('#CAEvent').is(':visible') && $('#EventDisabler').is(':hidden')) - $('#closeButton').trigger('click'); - if(globalActiveApp=='Projects' && $('#ProjectEventForm').is(':visible') && $('#ProjectsDisabler').is(':hidden')) - $('#cancelActivity').trigger('click'); - if($('.sp-container').is(':visible')) - $('html').trigger('click'); - break; - default: - break; - } -}; - -var globalEventList=new EventList(); -var globalAppleSupport = new AppleSupportNextDateArray(); -var globalResourceCalDAVList=new ResourceCalDAVList(); -var maxAlarmValue=2147000000; -var globalMultiWeekSize=3; -var globalMaxNextInstanesTodoCheckingNumber=60; - -var globalEventIntervalID=null; -var globalResourceRefreshNumber=0; -var globalResourceRefreshNumberTodo=0; -var globalCalDAVInitLoad=true; -var globalCalDAVResourceSync=false; -var globalCalDAVCollectionSync=false; -var globalCalendarNumber=0; -var globalOnlyCalendarNumber=0; -var globalTodoCalendarNumber=0; -var globalOnlyCalendarNumberCount=0; -var globalOnlyTodoCalendarNumberCount=0; -var globalCalendarNumberCount=0; -var globalEventTimeoutID=0; - -var cleanResourceCalDAVListTemplate=null; -var cleanResourceCalDAVTODOListTemplate=null; -var cleanVcalendarTemplate=null; -var cleanVtodoTemplate=null; -var origResourceCalDAVListTemplate=null; -var origResourceCalDAVTODOListTemplate=null; -var origVcalendarTemplate=null; -var origVtodoTemplate=null; -var origVtodoLoaderTemplate=null; -var globalSessionTimeZone=null; -var globalCalDAVQs=null; -var globalCalDAVTODOQs=null; -var globalVisibleCalDAVCollections=new Array(); -var globalVisibleCalDAVTODOCollections=new Array(); -var isResourceComplete=false; -var prevFunctionArray=new Array(); -var prevFunctionArrayIterator=0; -var globalWorkerArray=new Array(); -var globalIntervalArray=new Array(); -var globalCurrentLoadingResource=''; -var timeZonesEnabled=new Array(); -var cLcouny=42; -var processedTimezones = Array(); -var timelist=new Array(); -var minelems=[0,15,30,45]; -var frequencies = ["SECONDLY", "MINUTELY", "HOURLY", "DAILY", "WEEKLY", "MONTHLY", "YEARLY"]; -var globalToday=new Date(); -var isCalDAVLoaded=false; -var isCalDAVAvaible=true; -var globalLoadedLimit = new Date(); -var globalToLoadedLimit = new Date(); -var globalLimitLoading=''; -var globalLimitTodoLoading=''; -var globalBeginPast = new Date(); -var globalBeginFuture = new Date(); -var globalLoadedLimitTodo = new Date(); -var globalToLoadedLimitTodo = new Date(); -var globalDefaultCalendarCollectionActiveAll = false; -var globalDefaultTodoCalendarCollectionActiveAll = false; -var globalDefaultCalendarCollectionLoadAll = false; -var globalDefaultTodoCalendarCollectionLoadAll = false; -var globalTodoLoaderHide=''; -var globalEventCollectionsLoading=false; -var globalTodoCollectionsLoading=false; - -var globalCalEvent=null; -var globalCalTodo=null; -var globalJsEvent=null; -var globalRevertFunction=null; -var globalPrevDragEventAllDay=null; -var globalPrevDate=''; -var globalAllowFcRerender=true; -var globalCalWidth=0; -var globalTodoCheckTimeout=null; -var globalTodoCheckTimeoutDelay=1000; -var globalTodolistStatusArray={}; - - -function logoutCalDAV() -{ - globalTodolistStatusArray={}; - globalTodoCheckTimeout=null; - globalVisibleCalDAVCollections.splice(0, globalVisibleCalDAVCollections.length); - globalVisibleCalDAVTODOCollections.splice(0, globalVisibleCalDAVTODOCollections.length); - processedTimezones.splice(0, processedTimezones.length); - globalCalendarNumber=0; - globalOnlyCalendarNumber=0; - globalTodoCalendarNumber=0; - globalCalendarNumberCount=0; - globalLoadedLimit = new Date(); - globalToLoadedLimit = new Date(); - globalLimitLoading=''; - globalLimitTodoLoading=''; - globalBeginPast = new Date(); - globalBeginFuture = new Date(); - globalLoadedLimitTodo = new Date(); - globalToLoadedLimitTodo = new Date(); - globalDefaultCalendarCollectionActiveAll = false; - globalDefaultTodoCalendarCollectionActiveAll = false; - globalDefaultCalendarCollectionLoadAll = false; - globalDefaultTodoCalendarCollectionLoadAll = false; - globalCalDAVCollectionSync=false; - globalAllowFcRerender=true; - globalEventList.reset(); - globalResourceCalDAVList.reset(); - timeZonesEnabled.splice(0,timeZonesEnabled.length); - if(globalEventIntervalID!=null) - clearInterval(globalEventIntervalID); - - $('#EventDisabler, #TodoDisabler, #AlertDisabler').fadeOut(2000); - $('#SystemCalDavZAP, #SystemCalDavTODO').animate({opacity : 0},200).promise().done(function(){ - $('#SystemCalDavZAP, #SystemCalDavTODO').css('visibility','hidden'); - $('#main, #mainTODO').animate({top: 25}, 0); - $('#searchForm, #searchFormTODO').hide(); - $('#searchInput, #searchInputTODO').val('').trigger('keyup').trigger('blur'); - $('#calendar').fullCalendar('destroy'); - $('#todoList').fullCalendar('destroy'); - $('#timezonePicker, #timezonePickerTODO').prop('disabled', false).empty(); - $('#eventColor, #todoColor').css('background-color',''); - if($('#ResourceCalDAVList').width()<1) - $('#ResourceCalDAVToggle').trigger('click'); - if($('#ResourceCalDAVTODOList').width()<1) - $('#ResourceCalDAVTODOToggle').trigger('click'); - }); -} - -function mainCalDAV() -{ - localizeCalDAV(); - // init(); -} - -function localizeCalDAV() -{ - globalCalDAVInitLoad = true; - $('#ResourceCalDAVList').html(origResourceCalDAVListTemplate); - $('#ResourceCalDAVTODOList').html(origResourceCalDAVTODOListTemplate); - $('#CAEvent').html(origVcalendarTemplate); - $('#CATodo').html(origVtodoTemplate); - $('#todoLoader').html(origVtodoLoaderTemplate); - translate(); - $('input[placeholder],textarea[placeholder]').placeholder(); - cleanResourceCalDAVListTemplate=$('#ResourceCalDAVListTemplate').clone().wrap('<div>').parent().html(); - cleanResourceCalDAVTODOListTemplate=$('#ResourceCalDAVTODOListTemplate').clone().wrap('<div>').parent().html(); - cleanVcalendarTemplate=$('#CAEvent .saveLoader').clone().wrap('<div>').parent().html() + $('#repeatConfirmBox').clone().wrap('<div>').parent().html() + $('#event_details_template').clone().wrap('<div>').parent().html(); - cleanVtodoTemplate=$('#repeatConfirmBoxTODO').clone().wrap('<div>').parent().html() + $('#todo_details_template').clone().wrap('<div>').parent().html(); - $('#searchInput, #searchInputTODO').val(''); - globalSettings.titleformatmonth.value = localization[globalInterfaceLanguage]._default_title_format_month_; - globalSettings.titleformatweek.value = localization[globalInterfaceLanguage]._default_title_format_week_; - globalSettings.titleformatday.value = localization[globalInterfaceLanguage]._default_title_format_day_; - globalSettings.titleformattable.value = localization[globalInterfaceLanguage]._default_title_format_table_; - globalSettings.columnformatagenda.value = localization[globalInterfaceLanguage]._default_column_format_agenda_; -} - -function runCalDAV() -{ - if(!isUserLogged) - run(); - - globalResourceRefreshNumber=0; - globalResourceRefreshNumberTodo=0; - - $('#MainLoader').css('left','0px'); - $('#MainLoader').fadeIn(200); - - if(typeof globalSubscribedCalendars!='undefined' && globalSubscribedCalendars!=null) - { - globalAccountSettings[globalAccountSettings.length]=$.extend({},globalAccountSettings[0]); - globalAccountSettings[globalAccountSettings.length-1].hrefLabel = globalSubscribedCalendars.hrefLabel; - globalAccountSettings[globalAccountSettings.length-1].calendars = globalSubscribedCalendars.calendars; - globalAccountSettings[globalAccountSettings.length-1].ignoreAlarms = ''; - } -} - -function globalMainCalDAV() -{ - $(window).resize(function(evt){ - if(evt.target!=window) - return; - - if(typeof globalCalDAVInitLoad!='undefined' && !globalCalDAVInitLoad && !globalResourceRefreshNumber && $('#main').width()!=globalCalWidth) - $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].resizeLoader).parent().css('display','block'); - - $('#SystemCalDavZAP .fc-header-title').css('width', $('#main_h_placeholder').width()-$('#SystemCalDavZAP .fc-header-left').outerWidth()-$('#SystemCalDavZAP .fc-header-right').outerWidth()); - $('#ResourceCalDAVList, #ResourceCalDAVTODOList').css('bottom',(globalSettings.timezonesupport.value ? 20 : 0)); - $('#alertBox').css('left', ($(window).width()/2)-($('#alertBox').width()/2)); - $('#calendar').fullCalendar('option', 'contentHeight', $('#main').height() - 14); - $('#todoList').fullCalendar('allowSelectEvent',false); - $('#todoList').fullCalendar('option', 'contentHeight', $('#mainTODO').height() - 14); - $('#todoList').fullCalendar('allowSelectEvent',true); - $('#todoList').fullCalendar('selectEvent', null, true); - - if($('#CATodo').is(':visible')) { - checkTodoFormScrollBar(); - } - - if(globalSettings.displayhiddenevents.value) - { - hideEventCalendars(); - hideTodoCalendars(); - } - globalCalWidth = $('#main').width(); - }); - - $('#ResourceCalDAVToggle').click(function(){ - var transSpeedResource=70; - var isResourceVisible=$('#ResourceCalDAVList').width()>1; - var col0=isResourceVisible? 0:218; - var col1=isResourceVisible? 0:224; - var col2=isResourceVisible? 0:224; - var col3=isResourceVisible? 0:225; - - if(isIntegrated) - { - col2+=isResourceVisible? 49:50; - col3+=50; - } - - if(typeof globalCalDAVInitLoad!='undefined' && !globalCalDAVInitLoad && !globalResourceRefreshNumber) - $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].resizeLoader).parent().css('display','block'); - - if(globalSettings.timezonesupport.value) - $('#timezoneWrapper').animate({width: col0}, transSpeedResource); - - $('#resourceCalDAV_h, #ResourceCalDAVList').animate({width: col1}, transSpeedResource); - $('#CalendarLoader').animate({left: col3}, transSpeedResource); - $('#main_h, #searchForm, #main').animate({left: col2}, transSpeedResource).promise().done(function(){ - $('#SystemCalDavZAP .fc-header-title').width($('#main_h_placeholder').width()-$('#SystemCalDavZAP .fc-header-left').width()-$('#SystemCalDavZAP .fc-header-right').width()-20); - $(window).resize(); - }); - }); - - $('#ResourceCalDAVTODOToggle').click(function(){ - var transSpeedResource=70; - var isResourceVisible=$('#ResourceCalDAVTODOList').width()>1; - var col0=isResourceVisible? 0:218; - var col1=isResourceVisible? 0:224; - var col2=isResourceVisible? 0:224; - var col3=isResourceVisible? 0:225; - - if(isIntegrated) - { - col2+=isResourceVisible? 49:50; - col3+=50; - } - - if(globalSettings.timezonesupport.value) - $('#timezoneWrapperTODO').animate({width: col0}, transSpeedResource); - - $('#resourceCalDAVTODO_h, #ResourceCalDAVTODOList').animate({width: col1}, transSpeedResource); - $('#CalendarLoaderTODO').animate({left: col3}, transSpeedResource); - $('#main_h_TODO, #searchFormTODO').animate({left: col2}, transSpeedResource); - $('#mainTODO').animate({left: col2}, transSpeedResource, function(){ - $('#todoList').fullCalendar('allowSelectEvent',false); - $(window).resize(); - $('#todoList').fullCalendar('allowSelectEvent',true); - $('#todoList').fullCalendar('selectEvent', null, true); - }); - }); - - $('#eventFormShowerTODO').click(function(){ - showNewEvent('TODO'); - }); - - $('#eventFormShower').click(function(){ - showNewEvent(''); - }); - - $('#searchInput').bind('keyup change', function(){ - if($(this).val()!='') - $('#reserButton').css('visibility', 'visible'); - else - $('#reserButton').css('visibility', 'hidden'); - }); - - $('#searchInputTODO').bind('keyup change', function(){ - if($(this).val()!='') - $('#resetButtonTODO').css('visibility', 'visible'); - else - $('#resetButtonTODO').css('visibility', 'hidden'); - }); - - $('#timezonePicker, #timezonePickerTODO').change(function(){ - var previousTimezone=globalSessionTimeZone; - globalSessionTimeZone=$(this).val(); - $('#timezonePicker').val($(this).val()); - $('#timezonePickerTODO').val($(this).val()); - applyTimezone(previousTimezone); - }); - - /*************************** BAD HACKS SECTION ***************************/ - if($.browser.msie || $.browser.mozilla) - { - var newSVG=$(SVG_select_b).attr('data-type', 'select_icon').css({'pointer-events': 'none', 'z-index': '1', 'display': 'inline', 'margin-left': '-19px', 'vertical-align': 'top', 'background-color': '#ffffff'}); // background-color = stupid IE9 bug - $('#timezoneWrapper, #timezoneWrapperTODO').find('select').after($($('<div>').append($(newSVG).clone()).html())); - } - // INFO LABEL ALIGN WITH UNDELYING SELECT FIX - if($.browser.webkit && !!$.browser.safari) - $('.infoSpan[data-type="txt_interval"]').css('padding-left', '3px'); - /*************************** END OF BAD HACKS SECTION ***************************/ - - globalCalWidth = $('#main').width(); - origResourceCalDAVListTemplate = $('#ResourceCalDAVListTemplate').clone().wrap('<div>').parent().html(); - origResourceCalDAVTODOListTemplate = $('#ResourceCalDAVTODOListTemplate').clone().wrap('<div>').parent().html(); - origVcalendarTemplate = $('#CAEvent .saveLoader').clone().wrap('<div>').parent().html() + $('#repeatConfirmBox').clone().wrap('<div>').parent().html() + $('#event_details_template').clone().wrap('<div>').parent().html(); - origVtodoTemplate = $('#repeatConfirmBoxTODO').clone().wrap('<div>').parent().html() + $('#todo_details_template').clone().wrap('<div>').parent().html(); - origVtodoLoaderTemplate=$('#todoLoader .saveLoader').clone().wrap('<div>').parent().html(); - - populateTimezoneKeys(); -} - -function setCalendarNumber(initSearch) -{ - /*if($('.resourceCalDAV_header:visible').length>1 || (!$('.resourceCalDAV_header:visible').length && $('.resourceCalDAV_item:visible').length>1)) - $('.addRemoveAllCalDAV').show(); - if($('.resourceCalDAVTODO_header:visible').length>1 || (!$('.resourceCalDAVTODO_header:visible').length && $('.resourceCalDAVTODO_item:visible').length>1)) - $('.addRemoveAllCalDAVTODO').show();*/ - if(initSearch) - initSearchEngine(); - - globalCalendarNumber=0; - globalOnlyCalendarNumber=0; - globalTodoCalendarNumber=0; - for(var i=0; i<globalResourceCalDAVList.collections.length;i++) - if(globalResourceCalDAVList.collections[i].uid!=undefined && globalResourceCalDAVList.collections[i].makeLoaded) - { - globalCalendarNumber++; - globalOnlyCalendarNumber++; - } - for(var i=0; i<globalResourceCalDAVList.TodoCollections.length;i++) - if(globalResourceCalDAVList.TodoCollections[i].uid!=undefined && globalResourceCalDAVList.TodoCollections[i].makeLoaded) - { - globalCalendarNumber++; - globalTodoCalendarNumber++; - } -} -var globalAddressbookList=new AddressbookList(); -var globalResourceCardDAVList=new ResourceCardDAVList(); -var globalQs=null; - -var globalRefABList=null; -var globalRefABListTable=null; -var globalRefAbListTableHeader=null; -var globalRefABListTableCols=null; -var globalRefABListInnerTableCols=null; -var globalRefAddContact=null; -var globalRefVcardEditor=null; // editor reference stored after each editor cleanup - -var globalOrigCardDAVListTemplate=null; // template for clean resource list -var globalOrigABListHeader=null; // template for clean addressbook header -var globalOrigABListItem=null; // template for clean addressbook item -var globalOrigVcardTemplate=null; // template for clean editor object - -var globalTranslCardDAVListTemplate=null; // template for translated resource list -var globalTranslCardDAVListHeader=null; // template for translated resource header -var globalTranslCardDAVListItem=null; // template for translated resource item - -var globalTranslVcardTemplate=null; // template for translated editor object - -var globalCardDAVInitLoad=true; -var globalCardDAVResourceSync=false; -var globalCardDAVCollectionSync=false; -var isCardDAVLoaded=false; -var isCardDAVAvaible=true; -var globalDefaultAddressbookCollectionActiveAll=false; -var globalDefaultAddrCollectionLoadAll=false; -var globalAddressbookNumber=0; -var globalAddressbookNumberCount=0; -var globalABEditorCounter=new Object(); -var globalAddressElementOldData=new Object(); -var globalAddressbookCollectionsLoading=false; -var globalDisableAnimationMessageHiding=''; - -if(typeof globalContactPhotoScaleFactor==='undefined') - var globalContactPhotoScaleFactor=1.5; - -if(typeof globalContactPhotoType==='undefined' || globalContactPhotoType.match(RegExp('^(?:png|jpeg)$'))===null) - var globalContactPhotoType='jpeg'; - -var globalFixedContactDataColumnsCount = 1; -var globalContactDataColumnDefs = { - 'CATEGORIES': { - 'property': 'cats', - 'minWidth': 90 - }, - 'COMPANY': { - 'property': 'company', - 'minWidth': 135 - }, - 'DEPARTMENT': { - 'property': 'department', - 'minWidth': 90 - }, - 'LASTNAME': { - 'property': 'lastname', - 'minWidth': 90 - }, - 'FIRSTNAME': { - 'property': 'firstname', - 'minWidth': 45 - }, - 'MIDDLENAME': { - 'property': 'middlename', - 'minWidth': 45 - }, - 'PREFIX': { - 'property': 'prefix', - 'minWidth': 27 - }, - 'SUFFIX': { - 'property': 'sufix', - 'minWidth': 27 - }, - 'NICKNAME': { - 'property': 'nickname', - 'minWidth': 45 - }, - 'PHONETICLASTNAME': { - 'property': 'phoneticLastName', - 'minWidth': 90 - }, - 'PHONETICFIRSTNAME': { - 'property': 'phoneticFirstName', - 'minWidth': 45 - }, - 'BIRTHDAY': { - 'property': 'birthday', - 'minWidth': 90 - }, - 'JOBTITLE': { - 'property': 'title', - 'minWidth': 90 - }, - 'NOTETEXT': { - 'property': 'note', - 'minWidth': 180 - }, - 'ADDRESS': { - 'property': 'address', - 'filterProperities': { - 'TYPE': 'type' - }, - 'minWidth': 180 - }, - 'PHONE': { - 'property': 'phone', - 'filterProperities': { - 'TYPE': 'type' - }, - 'minWidth': 90 - }, - 'EMAIL': { - 'property': 'email', - 'filterProperities': { - 'TYPE': 'type' - }, - 'minWidth': 135 - }, - 'URL': { - 'property': 'url', - 'filterProperities': { - 'TYPE': 'type' - }, - 'minWidth': 135 - }, - 'DATES': { - 'property': 'date', - 'filterProperities': { - 'TYPE': 'type' - }, - 'minWidth': 90 - }, - 'RELATED': { - 'property': 'related', - 'filterProperities': { - 'TYPE': 'type' - }, - 'minWidth': 45 - }, - 'PROFILE': { - 'property': 'social', - 'filterProperities': { - 'TYPE': 'type' - }, - 'minWidth': 90 - }, - 'IM': { - 'property': 'impp', - 'filterProperities': { - 'TYPE': 'type', - 'SERVICE-TYPE': 'serviceType' - }, - 'minWidth': 90 - } -}; - -globalContactDataColumnLabelVars = { - 'Name': 'txtName', - - 'FirstName': 'pholderGiven', - 'LastName': 'pholderFamily', - 'MiddleName': 'pholderMiddle', - 'NickName': 'pholderNickname', - 'Prefix': 'pholderPrefix', - 'Suffix': 'pholderSuffix', - 'BirthDay': 'pholderBday', - 'PhoneticLastName': 'pholderPhFamily', - 'PhoneticFirstName': 'pholderPhGiven', - 'JobTitle': 'pholderTitle', - 'Company': 'pholderOrg', - 'Department': 'pholderDepartment', - 'Categories': 'txtCategories', - 'NoteText': 'pholderNoteVal', - - 'Address': 'txtAddress', - 'AddressWork': 'txtAddressWork', - 'AddressHome': 'txtAddressHome', - 'AddressOther': 'txtAddressOther', - - 'Phone': 'txtPhone', - 'PhoneWork': 'txtPhoneWork', - 'PhoneHome': 'txtPhoneHome', - 'PhoneCell': 'txtPhoneCell', - 'PhoneMain': 'txtPhoneMain', - 'PhonePager': 'txtPhonePager', - 'PhoneFax': 'txtPhoneFax', - 'PhoneIphone': 'txtPhoneIphone', - 'PhoneOther': 'txtPhoneOther', - - 'Email': 'txtEmail', - 'EmailWork': 'txtEmailWork', - 'EmailHome': 'txtEmailHome', - 'EmailMobileme': 'txtEmailMobileme', - 'EmailOther': 'txtEmailOther', - - 'URL': 'txtUrl', - 'URLWork': 'txtUrlWork', - 'URLHome': 'txtUrlHome', - 'URLHomepage': 'txtUrlHomepage', - 'URLOther': 'txtUrlOther', - - 'Dates': 'txtDates', - 'DatesAnniversary': 'txtDatesAnniversary', - 'DatesOther': 'txtDatesOther', - - 'Related': 'txtRelated', - 'RelatedManager': 'txtRelatedManager', - 'RelatedAssistant': 'txtRelatedAssistant', - 'RelatedFather': 'txtRelatedFather', - 'RelatedMother': 'txtRelatedMother', - 'RelatedParent': 'txtRelatedParent', - 'RelatedBrother': 'txtRelatedBrother', - 'RelatedSister': 'txtRelatedSister', - 'RelatedChild': 'txtRelatedChild', - 'RelatedFriend': 'txtRelatedFriend', - 'RelatedSpouse': 'txtRelatedSpouse', - 'RelatedPartner': 'txtRelatedPartner', - 'RelatedOther': 'txtRelatedOther', - - 'Profile': 'txtProfile', - 'ProfileTwitter': 'txtProfileTwitter', - 'ProfileFacebook': 'txtProfileFacebook', - 'ProfileFlickr': 'txtProfileFlickr', - 'ProfileLinkedin': 'txtProfileLinkedin', - 'ProfileMyspace': 'txtProfileMyspace', - 'ProfileSinaweibo': 'txtProfileSinaweibo', - - 'IM': 'txtIm', - 'IMWork': 'txtImWork', - 'IMHome': 'txtImHome', - 'IMMobileme': 'txtImMobileme', - 'IMOther': 'txtImOther', - 'IMAim': 'txtImProtAim', - 'IMIcq': 'txtImProtIcq', - 'IMIrc': 'txtImProtIrc', - 'IMJabber': 'txtImProtJabber', - 'IMMsn': 'txtImProtMsn', - 'IMYahoo': 'txtImProtYahoo', - 'IMFacebook': 'txtImProtFacebook', - 'IMGadugadu': 'txtImProtGadugadu', - 'IMGoogletalk': 'txtImProtGoogletalk', - 'IMQq': 'txtImProtQq', - 'IMSkype': 'txtImProtSkype' -}; - - -// called only once (after tha page is loaded) -function globalMainCardDAV() -{ - $(window).resize(function(evt){ - if(evt.target!=window) - return; - - var columnLengths = []; - for(var i=0; i<getDataColumnCount(); i++) { - columnLengths.push([]); - } - - globalRefABListTable.children('.ablist_item:visible').each(function() { - $(this).children().slice(globalFixedContactDataColumnsCount).each(function(ind) { - columnLengths[ind].push($(this).text().length); - }); - }); - - setDataColumnsWidth(columnLengths); - - $('.ablist_table_wrapper').css('max-height', $('#ABList').innerHeight() - $('.ablist_table_header').outerHeight() - 1); - checkContactFormScrollBar(); - }); - - // set the initial height to get vertical scrollbars working (used also in $(window).resize(...)) - $('.ablist_table_wrapper').css('max-height', $('#ABList').innerHeight() - $('.ablist_table_header').outerHeight() - 1); - - // toggle CardDAV resources - $('#ResourceCardDAVToggle').click(function(){ - var transSpeedResource=70; - var isResourceVisible=$('#ResourceCardDAVList').width()>1; - var col1=isResourceVisible? 0:224; - var col2=isResourceVisible? 0:225; - - if(isIntegrated) - { - col2+=50; - } - - $('.resourcesCardDAV_d, #ResourceCardDAVList, #ResourceCardDAVListOverlay').animate({width: col1}, transSpeedResource); - $('.collection_d, #SearchBox, #ABList, #ABListOverlay, #AddressbookOverlay').animate({left: col2}, transSpeedResource); - }); - - globalRefABList=$('#ABList'); - globalRefABListTable=$('#ABListTableInner').find('tbody'); - globalRefAddContact=$('#AddContact'); - - // these are restored after each logout - globalOrigCardDAVListTemplate=$('#ResourceCardDAVListTemplate').clone(); - - // clone + cleanup the editor (autocomplete bug in some browsers) + store the reference in globalOrigVcardTemplate - var tmp=$('#vCardTemplate').clone(); - tmp.find('input[type="text"]').val(''); - tmp.find('[data-type="isorg"]').prop('checked', false); - tmp.find('textarea').val(''); - globalOrigVcardTemplate=tmp; -} - -// called after the page is loaded and after each logout -function mainCardDAV() -{ - globalCardDAVInitLoad=true; - - // localize templates - // + store translated templates (globalTranl*) - // + initialize placeholder plugin - localizeCardDAV(); - - // cleanup the search field - $('[data-type="search"]').val(''); - - // Switch back to global Init (check for supported browser, demo login & password autofill - // then performs loadConfig() /netCheckAndCreateConfiguration() or netLoadConfiguration() or loadAllResources()/ - // init(); -} - -// POZOR! login vola priamo loadConfig() ... nie je tym nahodou predxadzajuca funkcia zbytocna? ... overit! - -// called from loadConfig() and netCheckAndCreateConfiguration() and netLoadConfiguration() and DAVresourceDelegation() -function runCardDAV() -{ - if(!isUserLogged) - run(); - -// $('#SystemCardDavMATE').animate({opacity : 1},200,function(){ -// /* XXX - System display:none changes -// $('#SystemCardDavMATE').css('display','block'); */ -// $('#SystemCardDavMATE').css('visibility','visible'); -// }); - - $('#MainLoader').css('left','0px'); - $('#MainLoader').fadeIn(200); - initSearchCardDav(); -} - -function logoutCardDAV() -{ - globalAddressbookList.reset(); - globalResourceCardDAVList.reset(); - globalAddressbookNumber=0; - globalAddressbookNumberCount=0; - globalCardDAVCollectionSync=false; - globalDefaultAddressbookCollectionActiveAll=false; - globalDefaultAddrCollectionLoadAll=false; - globalDisableAnimationMessageHiding=''; - - // reset ABList - globalRefABListTable.empty(); - - // remove ABList table gutter - $('.ablist_table_gutter').remove(); - - // clear old ABList table column widths - globalRefABListTableCols.width(''); - globalRefABListInnerTableCols.width(''); - - // reset ABList table layout - globalRefAbListTableHeader.children().slice(globalFixedContactDataColumnsCount).remove(); - globalRefABListTableCols.slice(globalFixedContactDataColumnsCount).remove(); - globalRefABListInnerTableCols.slice(globalFixedContactDataColumnsCount).remove(); - globalRefAbListTableHeader=null; - globalRefABListTableCols=null; - globalRefABListInnerTableCols=null; - - // hide update notification - $('#SystemCardDavMATE').find('div.update_d').hide(); - - // if the editor is in "edit" state during the logout, - // we need to remove all overlays (for next login) - $('#ResourceCardDAVListOverlay, #ABListOverlay').fadeOut(2000); - $('#SystemCardDavMATE').animate({opacity : 0},200,function(){ - /* XXX - System display:none changes - $('#SystemCardDavMATE').css('display','none');*/ - $('#SystemCardDavMATE').css('visibility', 'hidden'); - $('#ABContactColor').css('background-color', ''); - if($('#ResourceCardDAVList').width()<1) - $('#ResourceCardDAVToggle').trigger('click'); - }); -} - -function setAddressbookNumber() -{ - for(var i=0; i<globalResourceCardDAVList.collections.length;i++) - if(globalResourceCardDAVList.collections[i].uid!=undefined && globalResourceCardDAVList.collections[i].makeLoaded) - globalAddressbookNumber++; -} |