From 10eef51a0f086ad148928ba965c330599b4765cb Mon Sep 17 00:00:00 2001 From: Unrud Date: Sun, 4 Jun 2017 17:16:11 +0200 Subject: Update package for new web plugin interface --- radicale_infcloud/web/main.js | 2335 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2335 insertions(+) create mode 100644 radicale_infcloud/web/main.js (limited to 'radicale_infcloud/web/main.js') diff --git a/radicale_infcloud/web/main.js b/radicale_infcloud/web/main.js new file mode 100644 index 0000000..3687f64 --- /dev/null +++ b/radicale_infcloud/web/main.js @@ -0,0 +1,2335 @@ +/* +InfCloud - the open source CalDAV/CardDAV Web Client +Copyright (C) 2011-2015 + Jan Mate + Andrej Lezo + Matej Mihalik + +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 . +*/ + +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=''; +var SVG_select_inv=''; +var SVG_select_b=''; +var SVG_select_login=''; +var SVG_select_dis=''; +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=0;i--) + { + var resourceCounter = 0; + if(isAvaible('CardDavMATE')) + for(var j=0; jglobalToday.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; i0 || 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=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;i1) { + // 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; i0)) + delegIndex=i; + for(var i=0; i0)) + { + 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').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($($('
').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; i0) + 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'); + colgroups.append(''); + } + + 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').parent().html(); + cleanResourceCalDAVTODOListTemplate=$('#ResourceCalDAVTODOListTemplate').clone().wrap('
').parent().html(); + cleanVcalendarTemplate=$('#CAEvent .saveLoader').clone().wrap('
').parent().html() + $('#repeatConfirmBox').clone().wrap('
').parent().html() + $('#event_details_template').clone().wrap('
').parent().html(); + cleanVtodoTemplate=$('#repeatConfirmBoxTODO').clone().wrap('
').parent().html() + $('#todo_details_template').clone().wrap('
').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($($('
').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('
').parent().html(); + origResourceCalDAVTODOListTemplate = $('#ResourceCalDAVTODOListTemplate').clone().wrap('
').parent().html(); + origVcalendarTemplate = $('#CAEvent .saveLoader').clone().wrap('
').parent().html() + $('#repeatConfirmBox').clone().wrap('
').parent().html() + $('#event_details_template').clone().wrap('
').parent().html(); + origVtodoTemplate = $('#repeatConfirmBoxTODO').clone().wrap('
').parent().html() + $('#todo_details_template').clone().wrap('
').parent().html(); + origVtodoLoaderTemplate=$('#todoLoader .saveLoader').clone().wrap('
').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; i1; + 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