12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919 |
- function checkTimezone(timezone)
- {
- if(timezone in timezones)
- return timezone;
- else if(timezone in timezones_alt)
- return checkTimezone(timezones_alt[timezone]);
- return null;
- }
- function CalDAVeditor_cleanup(repeatHash)
- {
- if(typeof repeatHash!='undefined')
- CalDAVcleanupRegexEnvironment(repeatHash);
- else
- CalDAVcleanupRegexEnvironment();
- if(typeof repeatHash==='undefined' || repeatHash==='form')
- {
-
-
- if($.browser.msie || $.browser.mozilla)
- {
-
- $('<svg data-type="select_icon"></svg>').css('display', 'none').insertAfter($('#event_details_template, #todo_details_template').find('select'));
- }
-
-
- if($.browser.msie || $.browser.mozilla)
- {
- var newSVG=$(SVG_select).attr('data-type', 'select_icon').css({'pointer-events': 'none', 'z-index': '1', 'display': 'inline', 'margin-left': '-19px', 'vertical-align': 'top', 'background-color': '#ffffff'});
- $('#event_details_template, #todo_details_template').find('svg[data-type="select_icon"]').replaceWith($('<div>').append($(newSVG).clone()).html());
- }
-
- }
- }
- function animate_messageCalendar(messageSelector, messageTextSelector, duration, operation)
- {
- if(operation==undefined)
- operation='+=';
- var height=$(messageTextSelector).height()+14;
- var animation=500;
- $(messageSelector).animate({
- 'max-height': height+'px',
- height: (operation==undefined ? '+=' : operation)+height+'px'
- },
- animation,
- function(){
- if(operation=='+=')
- setTimeout(function(){animate_messageCalendar(messageSelector, messageTextSelector, 0, '-=');}, duration);
- }
- );
- return duration+2*animation;
- }
- function show_editor_messageCalendar(inputPosition, inputSetClass, inputMessage, inputDuration, callback)
- {
- var formShown='';
- if($('#todo_details_template').css('display')!='none')
- formShown='Todo';
- else
- formShown='Event';
- if(inputPosition==undefined || inputPosition=='in')
- {
- messageSelector='#'+formShown+'InMessage';
- messageTextSelector='#'+formShown+'InMessageText';
- }
- else
- {
- messageSelector='#'+formShown+'Message';
- messageTextSelector='#'+formShown+'MessageText';
- }
- $(messageTextSelector).attr('class', inputSetClass);
- $(messageTextSelector).text(inputMessage);
- var a=animate_messageCalendar(messageSelector, messageTextSelector, inputDuration);
- if(callback!=undefined)
- callback(a);
- }
- function show_editor_loader_messageCalendar(inputForm, inputSetClass, inputMessage, callback)
- {
- var formShown='';
- if(inputForm=='vtodo')
- formShown='#todoLoader';
- else
- formShown='#CAEvent';
- messageSelector=formShown+' .saveLoader';
- messageTextSelector=formShown+' .saveLoaderInfo';
- $(messageTextSelector).addClass(inputSetClass);
- $(messageTextSelector).text(inputMessage);
- setTimeout(function(){
- if(inputForm=='vtodo')
- $(formShown).hide();
- else
- $(messageSelector).hide();
- $(messageTextSelector).text('');
- $(messageTextSelector).removeClass(inputSetClass);
- if(callback!=undefined)
- callback(globalHideInfoMessageAfter);
- }, globalHideInfoMessageAfter);
- }
- function items(etag, from, end, title, isall, uid, rid, ev_id, note, displayValue, alertTime, alertNote, untilDate, type, interval, after, repeatStart, repeatEnd, byMonthDay, repeatCount, realRepeatCount, vcalendar, location, alertTimeOut, timeZone, realStart ,realEnd, byDay, rec_id, wkst, classType, avail, hrefUrl,compareString,priority,status,ruleString)
- {
- this.etag=etag;
- this.id=uid;
- this.start=from;
- this.end=end;
- this.title=title;
- this.allDay=isall;
- this.res_id=rid;
- this.ev_id=ev_id;
- this.note=note;
- this.displayValue=displayValue;
- this.alertTime=alertTime;
- this.alertNote=alertNote;
- this.untilDate=untilDate;
- this.repeatStart=repeatStart;
- this.repeatEnd=repeatEnd;
- this.type=type;
- this.interval=interval;
- this.after=after;
- this.byMonthDay=byMonthDay;
- this.repeatCount=repeatCount;
- this.realRepeatCount=realRepeatCount;
- this.vcalendar=vcalendar;
- this.location=location;
- this.alertTimeOut=alertTimeOut;
- this.timeZone=timeZone;
- this.realStart=realStart;
- this.realEnd=realEnd;
- this.byDay=byDay;
- this.rec_id=rec_id;
- this.wkst=wkst;
- this.classType=classType;
- this.avail=avail;
- this.hrefUrl=hrefUrl;
- this.compareString=compareString;
- this.priority=priority;
- this.status=status;
- this.searchvalue=title.toLowerCase().replace(vCalendar.pre['compressNewLineRex']).multiReplace(globalSearchTransformAlphabet);
- this.ruleString=ruleString;
- }
- function todoItems(from, to, untilDate, type, interval, after, wkst, repeatStart, repeatEnd, repeatCount, realRepeatCount, byDay, location, note, title, uid, vcalendar, etag, alertTime, alertNote, status, filterStatus, rec_id, repeatHash, percent, displayValue, res_id, compareString, timeZone, realStart, realEnd, alertTimeOut,classType, url, completedOn, sequence,priority,renderPriority, finalString,ruleString)
- {
- this.start=from;
- this.end=to;
- this.untilDate=untilDate;
- this.type=type;
- this.interval=interval;
- this.after=after;
- this.wkst=wkst;
- this.repeatStart=repeatStart;
- this.repeatEnd=repeatEnd;
- this.repeatCount=repeatCount;
- this.realRepeatCount=realRepeatCount;
- this.byDay=byDay;
- this.location=location;
- this.note=note;
- this.title=title;
- this.id=uid;
- this.vcalendar=vcalendar;
- this.etag=etag;
- this.alertTime=alertTime;
- this.alertNote=alertNote;
- this.status=status;
- this.filterStatus=filterStatus;
- this.percent=percent;
- this.displayValue=displayValue;
- this.res_id=res_id;
- this.compareString=compareString;
- this.alertTimeOut=alertTimeOut;
- this.timeZone=timeZone;
- this.realStart=realStart;
- this.realEnd=realEnd;
- this.classType=classType;
- this.url=url;
- this.rec_id= rec_id;
- this.repeatHash= repeatHash;
- this.completedOn=completedOn;
- this.sequence=sequence;
- this.priority=priority;
- this.renderPriority=renderPriority;
- this.finalString=finalString;
- this.searchvalue=title.toLowerCase().replace(vCalendar.pre['compressNewLineRex']).multiReplace(globalSearchTransformAlphabet);
- this.ruleString=ruleString;
- }
- function setLoadingLimit(forceLoad, allSyncMode)
- {
- if(forceLoad)
- {
- if(globalSettings.eventstartpastlimit.value!=null && (allSyncMode || globalLimitLoading=='past'))
- {
- var pastDate = new Date(globalLoadedLimit.getTime());
- pastDate.setDate(pastDate.getDate()-7);
- globalBeginPast = new Date(pastDate.getTime());
- }
- if(globalSettings.eventstartfuturelimit.value!=null && (allSyncMode || globalLimitLoading=='future'))
- {
- var futureDate = new Date(globalToLoadedLimit.getTime());
- futureDate.setDate(futureDate.getDate()+14);
- globalBeginFuture = new Date(futureDate.getTime());
- }
- }
- }
- function initSearchEngine() {
- globalCalDAVQs=$('input[data-type="PH_CalDAVsearch"]').quicksearch(globalEventList.displayEventsArray,{
- delay: 500,
- hide: function() {
- this.hidden=true;
- $('#SystemCalDavZAP').find('.event_item[data-id="'+this.id+'"]').each(function(){
- $(this).addClass('searchCalDAV_hide');
- if(this.tagName.toLowerCase()=='tr' && !$(this).siblings().addBack().not('.searchCalDAV_hide').length)
- $(this).parent().prev().find('tr').addClass('searchCalDAV_hide');
- });
- },
- show: function() {
- this.hidden=false;
- $('#SystemCalDavZAP').find('.event_item[data-id="'+this.id+'"]').each(function(){
- $(this).removeClass('searchCalDAV_hide');
- if(this.tagName.toLowerCase()=='tr')
- $(this).parent().prev().find('tr').removeClass('searchCalDAV_hide');
- });
- },
- prepareQuery: function(val) {
- return val.multiReplace(globalSearchTransformAlphabet).toLowerCase().split(' ');
- }
- });
- globalCalDAVTODOQs=$('input[data-type="PH_CalDAVTODOsearch"]').quicksearch(globalEventList.displayTodosArray,{
- delay: 500,
- onAfter: function () {
- if(!$('#TodoDisabler').is(':visible'))
- $('#todoList').fullCalendar('selectEvent');
- },
- hide: function() {
- this.hidden=true;
- $('#SystemCalDavTODO').find('.event_item[data-id="'+this.id+'"]').addClass('searchCalDAV_hide');
- },
- show: function() {
- this.hidden=false;
- $('#SystemCalDavTODO').find('.event_item[data-id="'+this.id+'"]').removeClass('searchCalDAV_hide');
- },
- prepareQuery: function(val) {
- return val.multiReplace(globalSearchTransformAlphabet).toLowerCase().split(' ');
- }
- });
- }
- function checkEventLoader(inputCounter, needRefresh)
- {
- inputCounter.counter++;
- if(inputCounter.counter==inputCounter.collectionLength)
- {
- if(inputCounter.listType=='vevent')
- $('#ResourceCalDAVList [data-id="'+inputCounter.uid+'"]').removeClass('r_operate');
- else
- $('#ResourceCalDAVTODOList [data-id="'+inputCounter.uid+'"]').removeClass('r_operate');
- if((globalLimitTodoLoading=='' && globalLimitLoading=='') || ((inputCounter.listType=='vtodo' && globalSettings.todopastlimit.value==null) || (inputCounter.listType=='vevent' && globalSettings.eventstartpastlimit.value==null && globalSettings.eventstartfuturelimit.value==null)))
- {
- if(inputCounter.listType=='vevent')
- globalAccountSettings[inputCounter.resourceIndex].calendarNo--;
- else if(inputCounter.listType=='vtodo')
- globalAccountSettings[inputCounter.resourceIndex].todoNo--;
- if(((globalAccountSettings[inputCounter.resourceIndex].calendarNo==0) && (globalAccountSettings[inputCounter.resourceIndex].todoNo==0) && globalCalDAVInitLoad) || (!globalCalDAVInitLoad))
- {
- if(!globalCalDAVInitLoad&&inputCounter.typeList.indexOf('vevent')!=-1&&inputCounter.typeList.indexOf('vtodo')!=-1)
- updateMainLoader(needRefresh,null,inputCounter.uid);
- else
- updateMainLoader(needRefresh,inputCounter.listType,inputCounter.uid);
- }
- }
- else if((globalOnlyCalendarNumber>0 && globalOnlyCalendarNumberCount==globalOnlyCalendarNumber) || (globalTodoCalendarNumber>0 && globalOnlyTodoCalendarNumberCount==globalTodoCalendarNumber))
- updateMainLoader(needRefresh,inputCounter.listType,inputCounter.uid);
- }
- }
- function getResourceByCollection(calendarUID)
- {
- var coll = globalResourceCalDAVList.getCollectionByUID(calendarUID);
- var tmp=coll.accountUID.match(vCalendar.pre['accountUidParts']);
- var resourceSettings=null;
- var resourceCalDAV_href=tmp[1]+tmp[3]+tmp[4];
- var resourceCalDAV_user=tmp[2];
- for(var i=0;i<globalAccountSettings.length;i++)
- if(globalAccountSettings[i].href==resourceCalDAV_href && globalAccountSettings[i].userAuth.userName==resourceCalDAV_user)
- resourceSettings=globalAccountSettings[i];
- return resourceSettings;
- }
- function updateMainLoaderText(type)
- {
- if(globalCalDAVInitLoad)
- {
- globalCalendarNumberCount++;
- $('#MainLoaderInner').html(localization[globalInterfaceLanguage].loadingCalendars.replace('%act%', globalCalendarNumberCount).replace('%total%', globalCalendarNumber));
- }
- else if((globalLimitTodoLoading!='' || globalLimitLoading!='') && ((type=='vtodo' && globalSettings.todopastlimit.value!=null) || (type=='vevent' && (globalSettings.eventstartpastlimit.value!=null || globalSettings.eventstartfuturelimit.value!=null))))
- {
- if(type=='vevent' && (globalLimitLoading=='past' || globalLimitLoading=='future'))
- {
- globalOnlyCalendarNumberCount++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].loadingCalendars.replace('%act%', globalOnlyCalendarNumberCount).replace('%total%', globalOnlyCalendarNumber));
- }
- else if(type=='vtodo' && (globalLimitTodoLoading=='pastTodo' || globalLimitTodoLoading=='futureTodo'))
- {
- globalOnlyTodoCalendarNumberCount++;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].loadingCalendars.replace('%act%', globalOnlyTodoCalendarNumberCount).replace('%total%', globalTodoCalendarNumber));
- }
- }
- else if(globalSettingsSaving!='' && globalFirstHideLoader)
- {
- globalLoadedCollectionsCount++;
- if(globalSettingsSaving=='event')
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].loadingCalendars.replace('%act%', globalLoadedCollectionsCount).replace('%total%', globalLoadedCollectionsNumber));
- else if(globalSettingsSaving=='todo')
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].loadingCalendars.replace('%act%', globalLoadedCollectionsCount).replace('%total%', globalLoadedCollectionsNumber));
- }
- }
- function updateMainLoaderTextFinal()
- {
- $('#MainLoaderInner').html(localization[globalInterfaceLanguage].renderingE);
- }
- function updateMainLoaderTextTimezone()
- {
- $('#MainLoaderInner').html(localization[globalInterfaceLanguage].timezoneChange);
- }
- function updateMainLoader(needRefresh,type,collUID)
- {
- if((type==null && $('.r_operate').length==0) || (type=='vtodo' && $('#ResourceCalDAVTODOList .r_operate').length==0) || (type=='vevent' && $('#ResourceCalDAVList .r_operate').length==0))
- {
- var rex = vCalendar.pre['accountUidParts'];
- if(globalCalDAVInitLoad && $('.r_operate').length==0)
- {
- updateMainLoaderTextFinal();
- var counter = 0;
- for(calendarUID in globalEventList.displayEventsArray)
- counter++;
- for(calendarUID in globalEventList.displayTodosArray)
- counter++;
- var beforeScroll = $('#main').width()-$('#calendar').width();
- var beforeScrollTodo = $('#mainTODO').width()-$('#todoList').width();
- for(calendarUID in globalEventList.displayEventsArray)
- setTimeout(function(calendarUID){
- if(globalSettings.displayhiddenevents.value || globalVisibleCalDAVCollections.indexOf(calendarUID)!=-1)
- {
- var bg = false;
- var tmpUID = calendarUID.match(rex);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(calendarUID);
- var collection = globalResourceCalDAVList.getEventCollectionByUID(calendarUID);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- if(collection.makeLoaded)
- collection.fcSource = $('#calendar').fullCalendar('addEventSource', {events:globalEventList.displayEventsArray[calendarUID],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor,textColor:checkFontColor(collection.ecolor),background:bg});
- }
- counter--;
- if(counter == 0)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- globalCalDAVQs.cache();
- var afterScrollTodo = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScrollTodo!=afterScrollTodo);
- globalCalDAVTODOQs.cache();
- $('#calendar').fullCalendar('findToday');
- globalCalDAVInitLoad=false;
- $('#todoList').fullCalendar('allowSelectEvent',true);
- $('#todoList').fullCalendar('selectEvent', $('.fc-view-todo .fc-list-day').find('.fc-event:visible:first'));
- globalCalWidth=$('#main').width();
- $('#SystemCalDavZAP .fc-header-center ').removeClass('r_operate_all');
- showTimezones(globalSessionTimeZone, 'Picker');
- showTimezones(globalSessionTimeZone, 'PickerTODO');
- loadNextApplication(true);
- }
- },10,calendarUID);
- for(calendarUID in globalEventList.displayTodosArray)
- setTimeout(function(calendarUID){
- if(globalSettings.displayhiddenevents.value || globalVisibleCalDAVTODOCollections.indexOf(calendarUID)!=-1)
- {
- var collection = globalResourceCalDAVList.getTodoCollectionByUID(calendarUID);
- if(collection.makeLoaded)
- collection.fcSource = $('#todoList').fullCalendar('addEventSource', {events:globalEventList.displayTodosArray[calendarUID],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor});
- }
- counter--;
- if(counter == 0)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- globalCalDAVQs.cache();
- var afterScrollTodo = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScrollTodo!=afterScrollTodo);
- globalCalDAVTODOQs.cache();
- $('#calendar').fullCalendar('findToday');
- globalCalDAVInitLoad=false;
- $('#todoList').fullCalendar('allowSelectEvent',true);
- $('#todoList').fullCalendar('selectEvent', $('.fc-view-todo .fc-list-day').find('.fc-event:visible:first'));
- globalCalWidth=$('#main').width();
- $('#SystemCalDavZAP .fc-header-center ').removeClass('r_operate_all');
- showTimezones(globalSessionTimeZone, 'Picker');
- showTimezones(globalSessionTimeZone, 'PickerTODO');
- loadNextApplication(true);
- }
- },10,calendarUID);
- }
- else if(!globalCalDAVInitLoad)
- {
- if(type==null || type=='vevent')
- {
- var collection = globalResourceCalDAVList.getEventCollectionByUID(collUID);
- if((globalSettings.displayhiddenevents.value || globalVisibleCalDAVCollections.indexOf(collUID)!=-1) && globalLimitLoading=='' && needRefresh && typeof collUID!= 'undefined' && collection!=null && collection.fcSource==null)
- {
- var bg = false;
- var tmpUID = collUID.match(rex);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(collUID);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- collection.fcSource = $('#calendar').fullCalendar('addEventSource', {events:globalEventList.displayEventsArray[collUID],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor,textColor:checkFontColor(collection.ecolor),background:bg});
- }
- if(needRefresh)
- refetchCalendarEvents();
- setTimeout(function(){
- if(globalLimitLoading!='' && (globalSettings.eventstartpastlimit.value!=null || globalSettings.eventstartfuturelimit.value!=null))
- {
- $('#CalendarLoader').css('display', 'none');
- globalLimitLoading = '';
- globalOnlyCalendarNumberCount = 0;
- }
- $('#SystemCalDavZAP .fc-header-center ').removeClass('r_operate_all');
- },10);
- }
- if(type==null || type=='vtodo')
- {
- var collection = globalResourceCalDAVList.getTodoCollectionByUID(collUID);
- if((globalSettings.displayhiddenevents.value || globalVisibleCalDAVTODOCollections.indexOf(collUID)!=-1) && globalLimitTodoLoading=='' && needRefresh && typeof collUID!= 'undefined' && collection!=null && collection.fcSource==null)
- {
- collection.fcSource = $('#todoList').fullCalendar('addEventSource', {events:globalEventList.displayTodosArray[collUID],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor});
- }
- if(needRefresh)
- refetchTodoEvents();
- setTimeout(function(){
- if(globalLimitTodoLoading!='' && globalSettings.todopastlimit.value!=null)
- {
- $('#CalendarLoaderTODO').css('display', 'none');
- globalLimitTodoLoading = '';
- globalOnlyTodoCalendarNumberCount = 0;
- }
- },10);
- }
- showTimezones(globalSessionTimeZone, 'Picker');
- showTimezones(globalSessionTimeZone, 'PickerTODO');
- if(globalSettingsSaving!='' && globalLoadedCollectionsCount == globalLoadedCollectionsNumber)
- setTimeout(function(){hideUnloadCollectionCallback(globalSettingsSaving);},300);
- }
- }
- }
- function checkFontColor(hexColor)
- {
- if((hexColor!='') && (hexColor!=undefined))
- {
- var color=hexColor;
- var cutHex=((color.charAt(0)=="#") ? color.substring(1, 7) : color);
- var resultColor;
-
- var a=checkColorBrightness(cutHex);
- if(a<140)
- resultColor='#ffffff';
- else
- resultColor='#404040';
- return resultColor;
- }
- return '#000';
- }
- function checkFor(data_id)
- {
- if(typeof vCalendar.tplM['contentline_TRIGGER']!='undefined' && vCalendar.tplM['contentline_TRIGGER']!='' &&
- vCalendar.tplM['contentline_TRIGGER']!=null && vCalendar.tplM['contentline_TRIGGER'].length>0)
- vCalendar.tplM['contentline_TRIGGER'].splice(data_id-1, 1);
- if(typeof vCalendar.tplM['contentline_VANOTE']!='undefined' && vCalendar.tplM['contentline_VANOTE']!='' &&
- vCalendar.tplM['contentline_VANOTE']!=null && vCalendar.tplM['contentline_VANOTE'].length>0)
- vCalendar.tplM['contentline_VANOTE'].splice(data_id-1, 1);
- if(typeof vCalendar.tplM['contentline_ACTION']!='undefined' && vCalendar.tplM['contentline_ACTION']!='' &&
- vCalendar.tplM['contentline_ACTION']!=null && vCalendar.tplM['contentline_ACTION'].length>0)
- vCalendar.tplM['contentline_ACTION'].splice(data_id-1, 1);
- if(typeof vCalendar.tplM['unprocessedVALARM']!='undefined' && vCalendar.tplM['unprocessedVALARM']!='' &&
- vCalendar.tplM['unprocessedVALARM']!=null && vCalendar.tplM['unprocessedVALARM'].length>0)
- vCalendar.tplM['unprocessedVALARM'].splice(data_id-1, 1);
- }
- function checkForTodo(data_id)
- {
- var rh='form';
- if(typeof vCalendar.tplM['VTcontentline_TRIGGER'][rh]!='undefined' && vCalendar.tplM['VTcontentline_TRIGGER'][rh]!='' &&
- vCalendar.tplM['VTcontentline_TRIGGER'][rh]!=null && vCalendar.tplM['VTcontentline_TRIGGER'][rh].length>0)
- vCalendar.tplM['VTcontentline_TRIGGER'][rh].splice(data_id-1, 1);
- if(typeof vCalendar.tplM['VTcontentline_VANOTE'][rh]!='undefined' && vCalendar.tplM['VTcontentline_VANOTE'][rh]!='' &&
- vCalendar.tplM['VTcontentline_VANOTE'][rh]!=null && vCalendar.tplM['VTcontentline_VANOTE'][rh].length>0)
- vCalendar.tplM['VTcontentline_VANOTE'][rh].splice(data_id-1, 1);
- if(typeof vCalendar.tplM['VTcontentline_ACTION'][rh]!='undefined' && vCalendar.tplM['VTcontentline_ACTION'][rh]!='' &&
- vCalendar.tplM['VTcontentline_ACTION'][rh]!=null && vCalendar.tplM['VTcontentline_ACTION'][rh].length>0)
- vCalendar.tplM['VTcontentline_ACTION'][rh].splice(data_id-1, 1);
- if(typeof vCalendar.tplM['VTunprocessedVALARM'[rh]]!='undefined' && vCalendar.tplM['VTunprocessedVALARM'][rh]!='' &&
- vCalendar.tplM['VTunprocessedVALARM'][rh] != null && vCalendar.tplM['VTunprocessedVALARM'][rh].length>0)
- vCalendar.tplM['VTunprocessedVALARM'][rh].splice(data_id-1, 1);
- }
- function div(op1, op2)
- {
- var a=(op1/op2);
- var b=(op1%op2)/op2;
- return a-b;
- }
- function binarySearch(array, first, last, value)
- {
- var mid=0;
- value=value.getTime();
- while(first<=last)
- {
- mid=div((first+last), 2);
- var date3=$.fullCalendar.parseDate(array[mid].sortStart);
- date3=date3.getTime();
- if(date3<value)
- first=mid+1;
- else if(date3>value)
- last=mid-1;
- else
- break;
- }
- return mid;
- }
- function parseISO8601(str)
- {
-
- var err=0;
- if(str.indexOf('T')!=-1)
- {
- var parts=str.split('T');
- if(parts.length>1)
- var dateParts=parts[0].split('-');
- else
- return null;
- if(dateParts.length>1)
- var timeParts=parts[1].split('Z');
- else
- return null;
- var timeSubParts=timeParts[0].split(':');
- if(timeSubParts.length>1)
- var timeSecParts=timeSubParts[2].split('.');
- else
- return null;
- var timeHours=Number(timeSubParts[0]);
- _date=new Date;
- _date.setFullYear(Number(dateParts[0]));
- _date.setMonth(Number(dateParts[1])-1);
- _date.setDate(Number(dateParts[2]));
- _date.setHours(Number(timeHours));
- _date.setMinutes(Number(timeSubParts[1]));
- _date.setSeconds(Number(timeSecParts[0]));
- if(timeSecParts[1])
- _date.setUTCMilliseconds(Number(timeSecParts[1]));
-
- return _date;
- }
- else
- {
- var dateParts=str.split('-');
- if(dateParts.length!=3)
- return null;
- _date=new Date;
- _date.setFullYear(Number(dateParts[0]));
- _date.setMonth(Number(dateParts[1])-1);
- _date.setDate(Number(dateParts[2]));
- return _date;
- }
- }
- function getValidRepeatDay(inputDate, RepeatDay)
- {
- var newDate='';
- if(typeof RepeatDay=='string')
- newDate=$.fullCalendar.parseDate(RepeatDay);
- else
- newDate = new Date(RepeatDay.getTime());
- var monthNumber=inputDate.getMonth()+2;
- var dayOfMonth=newDate.getDate();
- if(monthNumber>12)
- monthNumber=1;
- var lastDayInMonth=new Date(inputDate.getFullYear(), monthNumber, 0);
- lastDayInMonth=lastDayInMonth.getDate();
- if(lastDayInMonth<dayOfMonth)
- return lastDayInMonth;
- else
- return dayOfMonth;
- }
- function generateRepeatInstances(inputObj)
- {
- var dayDifference=inputObj.items.end.getTime()-inputObj.items.start.getTime();
- var alertTimeOut=new Array();
- var lastGenDate= inputObj.repeatStart;
- var rule=null;
- if(typeof inputObj.rule == 'undefined')
- {
- var options = RRule.parseString(inputObj.items.ruleString);
- options.dtstart = new Date(inputObj.items.start.getTime());
- if(inputObj.untilDate!=='')
- options.until = inputObj.untilDate;
- rule = new RRule(options);
- }
- else
- rule=inputObj.rule;
- rule.between(inputObj.repeatStart, inputObj.futureRLimit, true, function(date,i){
- var varDate=new Date(date.getTime());
- var varEndDate=new Date(date.getTime()+dayDifference);
- var checkRec=false, valOffsetFrom='', intOffset='';
- inputObj.items.realRepeatCount++;
- if(inputObj.recurrence_id_array.length>0)
- checkRec=isInRecurrenceArray(varDate,inputObj.stringUID,inputObj.recurrence_id_array, inputObj.tzName);
- if(!inputObj.items.allDay)
- {
- var dateStart,dateEnd;
- if(globalSettings.timezonesupport.value && inputObj.items.timeZone in timezones)
- valOffsetFrom=getOffsetByTZ(inputObj.items.timeZone, varDate);
- var realStart=new Date(varDate.getTime());
- dateStart=new Date(realStart.getTime());
- if(valOffsetFrom)
- {
- intOffset=(getLocalOffset(dateStart)*-1*1000)-valOffsetFrom.getSecondsFromOffset()*1000;
- dateStart.setTime(dateStart.getTime()+intOffset);
- }
- if(inputObj.exDates.length>0)
- if(inputObj.exDates.indexOf(dateStart.toString())!=-1)
- checkRec=true;
- var realEnd=new Date(varEndDate.getTime());
- dateEnd=new Date(realEnd.getTime());
- if(intOffset)
- dateEnd.setTime(dateEnd.getTime()+intOffset);
- }
- else
- {
- realStart=new Date(varDate.getTime());
- if(inputObj.exDates.length>0)
- if(inputObj.exDates.indexOf(realStart.toString())!=-1)
- checkRec=true;
- dateStart=$.fullCalendar.formatDate(realStart,"yyyy-MM-dd'T'HH:mm:ss");
- realEnd=new Date(varEndDate.getTime());
- dateEnd =$.fullCalendar.formatDate(realEnd,"yyyy-MM-dd'T'HH:mm:ss");
- }
- var checkDateTime = new Date(inputObj.repeatStart.getTime());
- if(typeof dateStart=='string')
- checkDateTime=$.fullCalendar.formatDate(inputObj.repeatStart,"yyyy-MM-dd'T'HH:mm:ss");
- if((inputObj.items.after!=='' && inputObj.items.realRepeatCount>(parseInt(inputObj.items.after,10))) || (typeof dateStart=='object' && (checkDateTime-dateStart)==0) || (typeof dateStart=='string' && checkDateTime==dateStart))
- {
- checkRec=true;
- inputObj.items.realRepeatCount--;
- }
- if(!checkRec)
- {
- if(!inputObj.ignoreAlarms)
- alertTimeOut=setAlertTimeouts(false,inputObj.alertTime, dateStart, dateEnd, {allDay:inputObj.items.allDay, title:inputObj.items.title},false, inputObj.items.id);
- inputObj.items.repeatCount++;
- var tmpObj=$.extend({},inputObj.items,{
- start:dateStart,
- end:dateEnd,
- realStart:realStart,
- realEnd:realEnd,
- repeatCount:inputObj.items.repeatCount,
- realRepeatCount:inputObj.items.realRepeatCount,
- alertTimeOut:alertTimeOut
- });
- globalEventList.displayEventsArray[inputObj.items.res_id].splice(globalEventList.displayEventsArray[inputObj.items.res_id].length, 0, tmpObj);
- lastGenDate = new Date(varDate.getTime());
- }
- return true;
- });
- if(typeof globalEventList.repeatable[inputObj.items.id] == 'undefined')
- globalEventList.repeatable[inputObj.items.id]={
- lastGenDate:lastGenDate,
- recurrence_id_array:inputObj.recurrence_id_array,
- stringUID:inputObj.stringUID,
- exDates:inputObj.exDates,
- alertTime:inputObj.alertTime,
- ignoreAlarms:inputObj.ignoreAlarms,
- rule:rule,
- items:inputObj.items
- };
- else
- globalEventList.repeatable[inputObj.items.id].lastGenDate=lastGenDate;
- }
- function generateTodoRepeatInstances(inputObj)
- {
- var rule=null;
- var alertTimeOut=new Array();
- var firstDateSaved=false;
- if(inputObj.repeatStart)
- var resStart=new Date($.fullCalendar.parseDate(inputObj.items.realStart).getTime());
- else if(inputObj.repeatEnd)
- var resStart=new Date($.fullCalendar.parseDate(inputObj.items.realEnd).getTime());
- if(typeof inputObj.lastGenDate!='undefined')
- var resStart=new Date(inputObj.lastGenDate.getTime());
- var lastGenDate=new Date(resStart.getTime());
- if(typeof inputObj.rule == 'undefined')
- {
- var options = RRule.parseString(inputObj.items.ruleString);
- options.dtstart = new Date(resStart.getTime());
- if(inputObj.untilDate!=='')
- options.until = inputObj.untilDate;
- rule = new RRule(options);
- }
- else
- rule=inputObj.rule;
- var dates = new Array();
- dates = rule.between(resStart, new Date(inputObj.futureRLimit.getTime()), true);
- if(dates.length>0 && (dates[0]-resStart)!=0 || dates.length==0)
- dates.splice(0,0,resStart);
- var futureLimitDate = new Date(inputObj.futureRLimit.getTime());
- futureLimitDate.setHours(resStart.getHours());
- futureLimitDate.setMinutes(resStart.getMinutes());
- futureLimitDate.setSeconds(resStart.getSeconds());
- var startCheck = new Date(dates[dates.length-1].getTime());
- var iterationEnd = dates.length;
- if(globalSettings.appleremindersmode.value || (inputObj.repeatEnd=='' && inputObj.repeatStart!=''))
- for(var i=0; i<globalMaxNextInstanesTodoCheckingNumber;i++)
- {
- var endCheck = new Date(startCheck.getTime()+ 30 * 24 * 3600 * 1000 + (24*3600*1000));
- var tmpArray = new Array();
- tmpArray = rule.between(startCheck, endCheck , true);
- if(tmpArray.length>0)
- {
- var isBreak=false;
- for(var j=0;j<tmpArray.length;j++)
- if(dates[dates.length-1]-tmpArray[j]!=0)
- {
- dates.push(tmpArray[j]);
- iterationEnd=dates.length-1;
- isBreak=true;
- break;
- }
- if(isBreak)
- break;
- }
- startCheck=new Date(endCheck.getTime());
- }
- var realRepeatCount=inputObj.realRepeatCount;
- var repeatCount=inputObj.repeatCount;
- for(var i=0;i<iterationEnd;i++)
- {
- var varDate='', varEndDate='', valOffsetFrom='',intOffset=0;
- var checkCont=false, dateStart='', dateEnd='';
- realRepeatCount++;
- if(inputObj.repeatEnd!='' && inputObj.repeatStart!='')
- {
- varDate=new Date(dates[i].getTime());
- varEndDate=new Date(varDate.getTime()+inputObj.dayDifference);
- }
- else if(inputObj.repeatEnd=='' && inputObj.repeatStart!='')
- {
- varDate=new Date(dates[i].getTime());
- if(i<=(dates.length-2))
- {
- varEndDate=new Date(dates[i+1].getTime());
- varEndDate.setMinutes(varEndDate.getMinutes()-1);
- }
- }
- else if(inputObj.repeatEnd!='' && inputObj.repeatStart=='')
- {
- varEndDate=new Date(dates[i].getTime());
- if(i>0)
- {
- varDate=new Date(dates[i-1].getTime());
- varDate.setMinutes(varDate.getMinutes()+1);
- }
- else if(typeof inputObj.previousRepeatStart!='undefined'&&inputObj.previousRepeatStart!=='')
- varDate=new Date(inputObj.previousRepeatStart);
- }
- if(varDate!=='')
- {
- if(globalSettings.timezonesupport.value && inputObj.items.timeZone in timezones)
- valOffsetFrom=getOffsetByTZ(inputObj.items.timeZone, varDate);
- var realStart=new Date(varDate.getTime());
- dateStart=new Date(varDate.getTime());
- if(valOffsetFrom && (typeof inputObj.previousRepeatStart=='undefined' || inputObj.previousRepeatStart==''))
- {
- intOffset=(getLocalOffset(dateStart)*-1*1000)-valOffsetFrom.getSecondsFromOffset()*1000;
- dateStart.setTime(dateStart.getTime()+intOffset);
- }
- }
- if(varEndDate!=='')
- {
- var realEnd=new Date(varEndDate.getTime());
- var dateEnd=new Date(varEndDate.getTime());
- if(intOffset)
- dateEnd.setTime(dateEnd.getTime()+intOffset);
- }
- if(inputObj.repeatStart!='')
- {
- checkCont=isInRecurrenceArray(realStart,inputObj.stringUID,inputObj.recurrence_id_array, inputObj.items.timeZone);
- if(inputObj.exDates.length>0)
- if(inputObj.exDates.indexOf(dateStart.toString())!=-1)
- checkCont=true;
- }
- else
- {
- checkCont=isInRecurrenceArray(realEnd,inputObj.stringUID,inputObj.recurrence_id_array, inputObj.items.timeZone);
- if(inputObj.exDates.length>0)
- if(inputObj.exDates.indexOf(dateEnd.toString())!=-1)
- checkCont=true;
- }
- if(inputObj.items.after!=='' && !globalSettings.appleremindersmode.value && realRepeatCount>(parseInt(inputObj.items.after,10)))
- {
- checkCont=true;
- realRepeatCount--;
- }
- if(globalSettings.appleremindersmode.value && firstDateSaved && inputObj.todoArray.length==1)
- {
- globalAppleSupport.nextDates[inputObj.items.id] = new Date(dateEnd.getTime());
- break;
- }
- if(!checkCont)
- {
- if(!inputObj.ignoreAlarms)
- alertTimeOut=setAlertTimeouts(true, inputObj.alertTime, (inputObj.repeatStart=='' ? dateEnd : dateStart), (inputObj.repeatEnd=='' ? dateStart : dateEnd), {title:inputObj.items.title, status:inputObj.items.status},!firstDateSaved,inputObj.items.id);
- firstDateSaved = true;
- repeatCount++;
- var tmpObj=$.extend({},inputObj.items,{
- start:dateStart,
- end:(inputObj.repeatEnd=='' && i==(dates.length-1) ? '' : dateEnd),
- realStart:realStart,
- realEnd:realEnd,
- repeatCount:repeatCount,
- realRepeatCount:realRepeatCount,
- alertTimeOut:alertTimeOut
- });
- inputObj.preTodoArray.splice(inputObj.preTodoArray.length, 0, tmpObj);
- if(inputObj.repeatStart!='')
- lastGenDate = new Date(dateStart.getTime());
- else
- lastGenDate = new Date(dateEnd.getTime());
- }
- }
- if(typeof globalEventList.repeatableTodo[inputObj.items.id] == 'undefined')
- globalEventList.repeatableTodo[inputObj.items.id]={
- todoArray:inputObj.todoArray,
- lastGenDate:lastGenDate,
- dayDifference:inputObj.dayDifference,
- recurrence_id_array:inputObj.recurrence_id_array,
- stringUID:inputObj.stringUID,
- exDates:inputObj.exDates,
- realRepeatCount:realRepeatCount,
- repeatCount:repeatCount,
- alertTime:inputObj.alertTime,
- ignoreAlarms:inputObj.ignoreAlarms,
- rule:rule,
- items:inputObj.items
- };
- else
- {
- globalEventList.repeatableTodo[inputObj.items.id].lastGenDate=lastGenDate;
- globalEventList.repeatableTodo[inputObj.items.id].realRepeatCount=realRepeatCount;
- globalEventList.repeatableTodo[inputObj.items.id].repeatCount=repeatCount;
- }
- }
- function loadRepeatEvents(inputRepeatEvent,prevLimit,toLimit)
- {
- var repeatFromLine=new Date(prevLimit.getFullYear(), prevLimit.getMonth(), prevLimit.getDate(), 0, 0, 0);
- generateRepeatInstances({
- untilDate:inputRepeatEvent.items.untilDate,
- repeatStart:inputRepeatEvent.lastGenDate,
- futureRLimit:toLimit,
- stringUID:inputRepeatEvent.stringUID,
- recurrence_id_array:inputRepeatEvent.recurrence_id_array,
- exDates:inputRepeatEvent.exDates,
- alertTime:inputRepeatEvent.alertTime,
- ignoreAlarms:inputRepeatEvent.ignoreAlarms,
- rule:inputRepeatEvent.rule,
- items:inputRepeatEvent.items
- });
- }
- function loadRepeatTodo(inputRepeatTodo,prevLimit)
- {
- var preTodoArray=new Array();
- var previousRepeatStart = '';
- var repeatInstances = globalEventList.displayTodosArray[inputRepeatTodo.items.res_id].filter(function(elm){return elm.id==inputRepeatTodo.items.id && elm.type!=''});
- if(repeatInstances.length>0)
- {
- var index = globalEventList.displayTodosArray[inputRepeatTodo.items.res_id].indexOf(repeatInstances[repeatInstances.length-1]);
- previousRepeatStart = repeatInstances[repeatInstances.length-1].start;
- globalEventList.displayTodosArray[inputRepeatTodo.items.res_id].splice(index,1);
- }
- generateTodoRepeatInstances({
- loadRepeatTodo:true,
- rule:inputRepeatTodo.rule,
- realRepeatCount:--inputRepeatTodo.realRepeatCount,
- repeatCount:--inputRepeatTodo.repeatCount,
- dayDifference:inputRepeatTodo.dayDifference,
- untilDate:inputRepeatTodo.items.untilDate,
- repeatStart:inputRepeatTodo.items.repeatStart,
- repeatEnd:inputRepeatTodo.items.repeatEnd,
- futureRLimit:globalToLoadedLimitTodo,
- stringUID:inputRepeatTodo.stringUID,
- recurrence_id_array:inputRepeatTodo.recurrence_id_array,
- exDates:inputRepeatTodo.exDates,
- alertTime:inputRepeatTodo.alertTime,
- ignoreAlarms:inputRepeatTodo.ignoreAlarms,
- isChange:false,
- lastGenDate:inputRepeatTodo.lastGenDate,
- todoArray:inputRepeatTodo.todoArray,
- preTodoArray:preTodoArray,
- previousRepeatStart:previousRepeatStart,
- items:inputRepeatTodo.items
- });
- $.merge(globalEventList.displayTodosArray[inputRepeatTodo.items.res_id],preTodoArray);
- }
- function getPrevMonths(viewStart)
- {
- if(globalLimitLoading!='future' && globalLimitLoading!='past' && globalSettings.eventstartpastlimit.value!=null && viewStart < globalLoadedLimit)
- {
- globalLoadedLimit.setMonth(globalLoadedLimit.getMonth()-globalSettings.eventstartpastlimit.value-1);
- globalOnlyCalendarNumberCount = 0
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- globalLimitLoading='past';
- setCalendarNumber(false);
- CalDAVnetLoadCollection(globalResourceCalDAVList.collections[0], true, false, 0, globalResourceCalDAVList.collections);
- }
- }
- function getNextMonths(viewEnd)
- {
- if(globalLimitLoading!='future' && globalLimitLoading!='past' && viewEnd > globalToLoadedLimit)
- {
- var limitSet = (globalSettings.eventstartfuturelimit.value!=null);
- var futureLimit = limitSet ? globalSettings.eventstartfuturelimit.value : 2;
- var prevLimit = new Date(globalBeginFuture.getTime());
- globalToLoadedLimit.setMonth(globalToLoadedLimit.getMonth()+futureLimit+1);
- var futureDate = new Date(globalToLoadedLimit.getTime());
- futureDate.setDate(futureDate.getDate()+14);
- if(limitSet)
- {
- globalOnlyCalendarNumberCount = 0;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- globalLimitLoading='future';
- }
- for (var repeat in globalEventList.repeatable)
- loadRepeatEvents(globalEventList.repeatable[repeat],prevLimit,futureDate);
- if(limitSet)
- {
- setCalendarNumber(false);
- CalDAVnetLoadCollection(globalResourceCalDAVList.collections[0], true, false, 0, globalResourceCalDAVList.collections);
- }
- else
- globalBeginFuture = new Date(futureDate.getTime());
- refetchCalendarEvents();
- }
- }
- function getPrevMonthsTodo(fromCalendar)
- {
- if(globalLimitTodoLoading=='futureTODO' && globalLimitTodoLoading=='pastTODO')
- return false;
- var actualTodoMonth = new Date($('#todoList').fullCalendar('getView').start.getTime());
- actualTodoMonth.setDate(1);
- if(globalSettings.todopastlimit.value!=null && actualTodoMonth < globalLoadedLimitTodo)
- {
- if(typeof fromCalendar!='undefined' && fromCalendar!=null && fromCalendar)
- globalLoadedLimitTodo = new Date(actualTodoMonth.getTime());
- else
- globalLoadedLimitTodo.setMonth(globalLoadedLimitTodo.getMonth()-globalSettings.todopastlimit.value-1);
- globalOnlyTodoCalendarNumberCount = 0;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- globalLimitTodoLoading='pastTodo';
- setCalendarNumber(false);
- CalDAVnetLoadCollection(globalResourceCalDAVList.TodoCollections[0], true, false, 0, globalResourceCalDAVList.TodoCollections);
- }
- }
- function getNextMonthsTodo(fromCalendar)
- {
- if(globalLimitTodoLoading=='futureTODO' && globalLimitTodoLoading=='pastTODO')
- return false;
-
- var limitSet=false;
- var futureLimit = limitSet ? globalSettings.eventstartfuturelimit.value : 2;
- var actualTodoMonth = new Date($('#todoList').fullCalendar('getView').end.getTime());
- actualTodoMonth.setMonth(actualTodoMonth.getMonth()+1);
- actualTodoMonth.setDate(1);
- if(actualTodoMonth > globalToLoadedLimitTodo)
- {
- var prevLimit = new Date(globalToLoadedLimitTodo.getTime());
- if(typeof fromCalendar!='undefined' && fromCalendar!=null && fromCalendar)
- {
- globalToLoadedLimitTodo = new Date(actualTodoMonth.getTime())
- globalToLoadedLimitTodo.setMonth(globalToLoadedLimitTodo.getMonth()+1);
- }
- else
- globalToLoadedLimitTodo.setMonth(globalToLoadedLimitTodo.getMonth()+futureLimit+1);
- if(limitSet)
- {
- globalOnlyTodoCalendarNumberCount = 0;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- globalLimitTodoLoading='futureTodo';
- }
- for(var repeat in globalEventList.repeatableTodo)
- loadRepeatTodo(globalEventList.repeatableTodo[repeat],prevLimit);
- if(limitSet)
- {
- setCalendarNumber(false);
- CalDAVnetLoadCollection(globalResourceCalDAVList.TodoCollections[0], true, false, 0, globalResourceCalDAVList.TodoCollections);
- }
- refetchTodoEvents();
- }
- }
- function showAlertEvents(inputUID, realDelay, alarmObject)
- {
- if(maxAlarmValue<realDelay)
- {
- var delay=realDelay-maxAlarmValue;
- if(maxAlarmValue<delay)
- setTimeout(function(){showAlertEvents(inputUID, delay,alarmObject);}, maxAlarmValue);
- else
- setTimeout(function(){showAlertEvents(inputUID, delay,alarmObject);}, delay);
- return false;
- }
- var rid=inputUID.substring(0, inputUID.lastIndexOf('/')+1);
- if(globalSettings.showhiddenalarms.value)
- hiddenCheck = true;
- else
- hiddenCheck = false;
- if((alarmObject!=undefined && hiddenCheck) || (alarmObject!=undefined && !hiddenCheck && globalVisibleCalDAVCollections.indexOf(rid)!=-1))
- {
- $('#alertBox').css('visibility', 'visible');
- $('#AlertDisabler').fadeIn(globalEditorFadeAnimation)
- var date=$.fullCalendar.parseDate(alarmObject.start);
- var dateString='';
- var formattedDate = $.datepicker.formatDate(globalSettings.datepickerformat.value,date);
- if(formattedDate!='')
- dateString+=' : '+formattedDate;
- var timeString='';
- if(!alarmObject.allDay)
- {
- var timeS = $.fullCalendar.formatDate(date, globalSettings.ampmformat.value?'h:mm TT{ - h:mm TT}':'H:mm{ - H:mm}')
- if(timeS!='')
- timeString=' - '+timeS;
- }
- $('#alertBoxContent').append("<div class='alert_item'><img src='images/calendarB.svg' alt='Calendar'/><label>"+alarmObject.title+dateString+timeString+"</label></div>");
- }
- }
- function showAlertTODO(inputUID, realDelay, alarmObject)
- {
- if(globalSettings.ignorecompletedorcancelledalarms.value && (alarmObject.status=='COMPLETED' || alarmObject.status== 'CANCELLED'))
- return false;
- if(maxAlarmValue<realDelay)
- {
- var delay=realDelay-maxAlarmValue;
- if(maxAlarmValue<delay)
- setTimeout(function(){showAlertTODO(inputUID, delay, alarmObject);}, maxAlarmValue);
- else
- setTimeout(function(){showAlertTODO(inputUID, delay, alarmObject);}, delay);
- return false;
- }
- resDate='';
- var rid=inputUID.substring(0, inputUID.lastIndexOf('/')+1);
- if(globalSettings.showhiddenalarms.value)
- hiddenCheck = true;
- else
- hiddenCheck = false;
- if(hiddenCheck || (!hiddenCheck && globalVisibleCalDAVTODOCollections.indexOf(rid)!=-1))
- {
- $('#alertBox').css('visibility', 'visible');
- $('#AlertDisabler').fadeIn(globalEditorFadeAnimation);
- var dateString='';
- var date=$.fullCalendar.parseDate(alarmObject.start);
- var formattedDate=$.datepicker.formatDate(globalSettings.datepickerformat.value,date);
- if(formattedDate!='')
- dateString=' : '+formattedDate;
- var timeString=''
- var timeS = $.fullCalendar.formatDate(date,globalSettings.ampmformat.value?'h:mm TT{ - h:mm TT}':'H:mm{ - H:mm}');
- if(timeS!='')
- timeString=' - '+timeS;
- $('#alertBoxContent').append("<div class='alert_item'><img src='images/todoB.svg' alt='Todo'/><label>"+alarmObject.title+dateString+timeString+"</label></div>");
- }
- }
- function clearAlertEvents()
- {
- $('#alertBoxContent').html('');
- $('#alertBox').css('visibility', 'hidden');
- $('#AlertDisabler').fadeOut(globalEditorFadeAnimation);
- }
- function addAndEdit(isFormHidden, deleteMode)
- {
- var inputUID='';
- if($('#uid').val()!='')
- var coll = globalResourceCalDAVList.getEventCollectionByUID($('#uid').val().substring(0, $('#uid').val().lastIndexOf('/')+1));
- else
- var coll = globalResourceCalDAVList.getEventCollectionByUID($('#event_calendar').val());
- var res = getAccount(coll.accountUID);
- var tmp=res.href.match(vCalendar.pre['hrefRex']);
- var origUID=tmp[1]+res.userAuth.userName+'@'+tmp[2];
- if($('#etag').val()!='')
- inputUID=$('#uid').val();
- else if($('#event_calendar').val()!='choose')
- inputUID = $('#event_calendar').val()+'';
- else
- return false;
- dataToVcalendar('EDIT',origUID, inputUID, $('#etag').val(), '', isFormHidden, deleteMode);
- }
- function interResourceEdit(op, delUID,isFormHidden)
- {
- var inputUID='';
- if($('#uid').val()!='')
- var coll = globalResourceCalDAVList.getEventCollectionByUID($('#uid').val().substring(0, $('#uid').val().lastIndexOf('/')+1));
- else
- var coll = globalResourceCalDAVList.getEventCollectionByUID($('#event_calendar').val());
- var res = getAccount(coll.accountUID);
- var tmp=res.href.match(vCalendar.pre['hrefRex']);
- var origUID=tmp[1]+res.userAuth.userName+'@'+tmp[2];
- if(op != 'MOVE_IN')
- $('#etag').val('');
- var srcUID=$('#uid').val().substring($('#uid').val().lastIndexOf('/')+1, $('#uid').val().length);
- inputUID=$('#event_calendar').val()+srcUID;
- dataToVcalendar(op, origUID, inputUID, '', delUID,isFormHidden);
- }
- function save(isFormHidden, deleteMode)
- {
- $('#event_details_template').scrollTop(0);
- if(!deleteMode)
- {
- if($('#event_details_template').find('img[data-type=invalidSmall]').filter(function(){return this.style.display != 'none'}).length>0)
- {
- show_editor_loader_messageCalendar('vevent', 'message_error', localization[globalInterfaceLanguage].txtErorInput);
- return false;
- }
- var a=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_from').val());
- var a2=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_to').val());
- var datetime_from=$.fullCalendar.formatDate(a, 'yyyy-MM-dd');
- var datetime_to=$.fullCalendar.formatDate(a2, 'yyyy-MM-dd');
- var time_from='00:00';
- var time_to='00:00';
- if(!$('#allday').prop('checked'))
- {
- if($('#time_from').val()!='' && $('#time_to').val()!='')
- {
- time_from=new Date(Date.parse("01/02/1990, "+$('#time_from').val()));
- time_from=$.fullCalendar.formatDate(time_from, 'HH:mm');
- time_to=new Date(Date.parse("01/02/1990, "+$('#time_to').val()));
- time_to=$.fullCalendar.formatDate(time_to, 'HH:mm');
- }
- }
- if($.fullCalendar.parseDate(datetime_from+'T'+time_from+'Z')>$.fullCalendar.parseDate(datetime_to+'T'+time_to+'Z'))
- {
- show_editor_loader_messageCalendar('vevent', 'message_error', localization[globalInterfaceLanguage].txtErrorDates);
- return false;
- }
- }
- var calUID=$('#uid').val().substring(0, $('#uid').val().lastIndexOf('/'));
- var newUID=$('#event_calendar').val().substring(0, $('#event_calendar').val().length-1);
- if($('#event_calendar').val()!='choose')
- {
- if($('#name').val()=='')
- $('#name').val(localization[globalInterfaceLanguage].pholderNewEvent);
- if(newUID==calUID || ($('#etag').val()=='' && $('#event_calendar').val()!='choose'))
- addAndEdit(isFormHidden, deleteMode);
- else if( $('#etag').val()!='')
- {
- var delUID=$('#uid').val();
- interResourceEdit('MOVE_OTHER',delUID, isFormHidden);
- }
- }
- else
- show_editor_loader_messageCalendar('vevent', 'message_error', localization[globalInterfaceLanguage].txtNotChoose);
- }
- function deleteEvent()
- {
- var delUID=$('#uid').val();
- if(delUID!='')
- deleteVcalendarFromCollection(delUID,'vevent');
- }
- function loadAdditionalCollections(collectionType)
- {
- if(globalSettingsSaving!='')
- return false;
- globalSettingsSaving=collectionType;
- var inSettings = $.extend({},globalSettings);
- var rex = new RegExp('^(https?://)([^@/]+(?:@[^@/]+)?)@(.*)');
- var sel = '';
- var key = '';
- if(collectionType=='event')
- {
- key='loadedcalendarcollections';
- inSettings.loadedcalendarcollections = {value:new Array(), locked: globalSettings[key].locked};
- $('#ResourceCalDAVList').find('.unloadCheck').each(function(cin,cel)
- {
- if($(cel).prop('checked'))
- {
- var uidParts=$(cel).attr('data-id').match(rex);
- inSettings.loadedcalendarcollections.value.splice(inSettings.loadedcalendarcollections.value.length , 0, uidParts[1]+uidParts[3]);
- }
- });
- }
- else if(collectionType=='todo')
- {
- sel='TODO';
- key='loadedtodocollections';
- inSettings.loadedtodocollections = {value : new Array(), locked: globalSettings[key].locked};
- $('#ResourceCalDAVTODOList').find('.unloadCheck').each(function(cin,cel)
- {
- if($(cel).prop('checked'))
- {
- var uidParts=$(cel).attr('data-id').match(rex);
- inSettings.loadedtodocollections.value.splice(inSettings.loadedtodocollections.value.length , 0, uidParts[1]+uidParts[3]);
- }
- });
- }
- if($(inSettings[key].value).not(globalSettings[key].value).length > 0 || $(globalSettings[key].value).not(inSettings[key].value).length > 0)
- {
- $('#CalendarLoader'+sel).removeClass('loader_hidden');
- $('#ResourceCalDAV'+sel+'List').find('input[type="checkbox"]').prop('disabled',true);
- var setC=0;
- for(var i=0;i<globalAccountSettings.length;i++)
- if(globalAccountSettings[i].href.indexOf(globalLoginUsername)!=-1 && globalAccountSettings[i].settingsAccount)
- {
- setC++;
- netSaveSettings(globalAccountSettings[i], inSettings, false, true);
- break;
- }
- if(setC==0)
- cancelUnloadedCollections(collectionType);
- }
- else
- hideUnloadedCollections(collectionType,true);
- }
- function showUnloadedCollections(collectionType)
- {
- if((collectionType=='event'&&globalEventCollectionsLoading) || (collectionType=='todo'&&globalTodoCollectionsLoading))
- return false;
- var sel=null;
- var locString='';
- if(collectionType=='event')
- {
- globalEventCollectionsLoading=true;
- sel='';
- locString='txtEnabledCalendars';
- }
- else if(collectionType=='todo')
- {
- globalTodoCollectionsLoading=true;
- sel='TODO';
- locString='txtEnabledTodoLists';
- }
- if(isAvaible('CardDavMATE'))
- $('#showUnloadedAddressbooks').css('display','none');
- if(sel=='TODO')
- $('#showUnloadedCalendars').css('display','none');
- else
- $('#showUnloadedCalendarsTODO').css('display','none');
- $('#ResourceCalDAV'+sel+'List').find('input[type="checkbox"]').prop('disabled',true);
- $('#CalendarLoader'+sel).children('.loaderInfo').text(localization[globalInterfaceLanguage].loadingCollectionList).parent().fadeIn(300);
- var resList = $('#ResourceCalDAV'+sel+'List');
- var resHeader = '.resourceCalDAV'+sel+'_header';
- var resItem = '.resourceCalDAV'+sel+'_item';
- $('#ResourceCalDAV'+sel+'List').find('input[type="checkbox"]').prop('disabled',false);
- $('#CalendarLoader'+sel).children('.loaderInfo').text('').parent().addClass('loader_hidden');
- resList.find('.resourceCalDAV_item_selected').removeClass('resourceCalDAV_item_selected');
- resList.find('input').css('display','none');
-
- resList.children('.resourceCalDAV'+sel+'_header').each(function(){
- if($(this).css('display')=='none')
- $(this).addClass('unloaded').css('display','');
- var headerClickElm = $('<input type="checkbox" class="unloadCheckHeader" style="position:absolute;top:3px;right:0px;margin-right:6px;"/>');
- headerClickElm.change(function(){
- loadResourceChBoxClick(this, '#ResourceCalDAV'+sel+'List', resHeader, resItem, resItem);
- });
- $(this).addClass('load_mode').append(headerClickElm);
- });
-
- resList.find('.resourceCalDAV'+sel+'_item').each(function(){
- if(typeof $(this).attr('data-id') != 'undefined')
- {
- var newInputElm = $('<input type="checkbox" class="unloadCheck" data-id="'+$(this).attr('data-id')+'" style="position:absolute;top:8px;right:0px;margin-right:6px;"/>');
- newInputElm.change(function(){
- loadCollectionChBoxClick(this, '#ResourceCalDAV'+sel+'List', resHeader, resItem, resItem);
- });
- $(this).addClass('load_mode').append(newInputElm);
- if($(this).css('display')=='none')
- $(this).addClass('unloaded');
- else
- newInputElm.prop('checked',true);
- newInputElm.trigger('change');
- }
- });
- $('#showUnloadedCalendars'+sel).css('display','none');
- $('#resourceCalDAV'+sel+'_h').find('.resourceCalDAV'+sel+'_text').text(localization[globalInterfaceLanguage][locString]);
- var origH = resList.find('.resourceCalDAV'+sel+'_header.unloaded').eq(0).css('height');
- var origC = resList.find('.resourceCalDAV'+sel+'_item.unloaded').eq(0).css('height');
- resList.find('.resourceCalDAV'+sel+'_header.unloaded').css({height:0,display:''}).animate({height:origH},300);
- resList.find('.resourceCalDAV'+sel+'_item.unloaded').css({height:0,display:''}).animate({height:origC},300);
- resList.animate({'top':49},300);
- }
- function cancelUnloadedCollections(collectionType)
- {
- var sel=null;
- var loadedCollections=null;
- if(collectionType=='event')
- {
- sel='';
- loadedCollections=globalSettings.loadedcalendarcollections.value;
- }
- else if(collectionType=='todo')
- {
- sel='TODO';
- loadedCollections=globalSettings.loadedtodocollections.value;
- }
- $('#ResourceCalDAV'+sel+'List').children('.resourceCalDAV'+sel+'_item').each(function(){
- var isLoaded=false;
- if(typeof globalCrossServerSettingsURL!='undefined'&&globalCrossServerSettingsURL!=null&globalCrossServerSettingsURL)
- {
- var uidParts=$(this).attr('data-id').match(RegExp('/([^/]+/[^/]+/)$'));
- var tmpParts = uidParts[1].match('^(.*/)([^/]+)/$');
- var checkHref=decodeURIComponent(tmpParts[1])+tmpParts[2]+'/';
- var found=false;
- for(var l=0;l<loadedCollections.length;l++)
- {
- var tmpParts2 = loadedCollections[l].match('^(.*/)([^/]+)/([^/]+)/$');
- var checkHref2=decodeURIComponent(tmpParts2[2])+'/'+tmpParts2[3]+'/';
- if(checkHref==checkHref2)
- {
- found=true;
- break;
- }
- }
- isLoaded=found;
- }
- else
- {
- var uidParts=$(this).attr('data-id').match(RegExp('^(https?://)([^@/]+(?:@[^@/]+)?)@(.*)'));
- var checkHref=uidParts[1]+uidParts[3];
- isLoaded=(loadedCollections.indexOf(checkHref)!=-1);
- }
- var unloadCh=$(this).find('.unloadCheck');
- var checked=unloadCh.prop('checked');
- if((isLoaded && !checked) || (!isLoaded && checked))
- unloadCh.prop('checked',!checked).trigger('change');
- });
- hideUnloadedCollections(collectionType,true);
- }
- function hideUnloadedCollections(collectionType, withCallback)
- {
- var sel=null;
- var locString='';
- if(collectionType=='event') {
- sel='';
- locString='txtCalendars';
- }
- else if(collectionType=='todo') {
- sel='TODO';
- locString='txtTodoLists';
- }
- var resList=$('#ResourceCalDAV'+sel+'List');
- resList.find(':input.unloadCheck').remove();
- resList.find(':input.unloadCheckHeader').remove();
- resList.find('.load_mode').removeClass('load_mode');
- resList.find(':input').css('display','');
- $('#resourceCalDAV'+sel+'_h').find('.resourceCalDAV'+sel+'_text').text(localization[globalInterfaceLanguage][locString]);
- resList.find('.resourceCalDAV'+sel+'_header.unloaded').animate({height:0},300).promise().done(function(){
- resList.find('.resourceCalDAV'+sel+'_header.unloaded').css({display:'none',height:''});
- });
- resList.find('.resourceCalDAV'+sel+'_item.unloaded').animate({height:0},300).promise().done(function(){
- resList.find('.resourceCalDAV'+sel+'_item.unloaded').css({display:'none',height:''});
- resList.find('.resourceCalDAV'+sel+'_header').not('.unloaded').each(function(){
- var triggerInput=$(this).nextUntil('.resourceCalDAV'+sel+'_header').filter(':visible').first().find('input[type="checkbox"]');
- collectionChBoxClick(triggerInput.get(0), '#ResourceCalDAV'+sel+'List', '.resourceCalDAV'+sel+'_header', '.resourceCalDAV'+sel+'_item', null, false);
- });
- resList.find('.unloaded').removeClass('unloaded');
- if(collectionType=='event')
- globalEventCollectionsLoading=false;
- else if(collectionType=='todo')
- globalTodoCollectionsLoading=false;
- if(withCallback)
- hideUnloadCollectionCallback(collectionType);
- });
- resList.animate({'top':24},300);
- if(withCallback)
- $('#CalendarLoader'+sel).fadeOut(300,function(){
- $(this).removeClass('loader_hidden');
- });
- if(isAvaible('CardDavMATE'))
- $('#showUnloadedAddressbooks').css('display','block');
- if(sel=='TODO')
- $('#showUnloadedCalendars').css('display','block');
- else
- $('#showUnloadedCalendarsTODO').css('display','block');
- }
- function hideUnloadCollectionCallback(collectionType)
- {
- var sel=null;
- if(collectionType=='event')
- sel='';
- else if(collectionType=='todo')
- sel='TODO';
- $('#showUnloadedCalendars'+sel).css('display','');
- globalFirstHideLoader=true;
- globalSettingsSaving='';
- selectActiveCalendar();
- if(collectionType=='event')
- {
- if($('#ResourceCalDAVList .resourceCalDAV_item:visible').not('.resourceCalDAV_item_ro').length==0)
- {
- $('#eventFormShower').css('display','none');
- $('#calendar').fullCalendar('setOptions',{'selectable':false});
- }
- else
- {
- $('#eventFormShower').css('display','block');
- $('#calendar').fullCalendar('setOptions',{'selectable':true});
- }
- }
- else if(collectionType=='todo')
- {
- if($('#ResourceCalDAVTODOList .resourceCalDAVTODO_item:visible').not('.resourceCalDAV_item_ro').length==0)
- $('#eventFormShowerTODO').css('display','none');
- else
- $('#eventFormShowerTODO').css('display','block');
- }
- $('#CalendarLoader'+sel).css('display','none');
- $('#ResourceCalDAV'+sel+'List').find('input[type="checkbox"]').prop('disabled',false);
- }
- function disableAll()
- {
- var counter=0;
- $('#ResourceCalDAVList').children(':visible').each(function(i, e){
- if($(e).hasClass('resourceCalDAV_item') && $(e).find('input').prop('checked'))
- counter++;
- });
- if(!counter)
- return false;
- if(!globalSettings.displayhiddenevents.value)
- {
- globalResourceRefreshNumber++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- var beforeScroll = $('#main').width()-$('#calendar').width();
- $('#calendar').fullCalendar('removeEvents');
- $('#calendar').fullCalendar('removeEventSources');
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- }
- for(var j=0;j<globalResourceCalDAVList.collections.length;j++)
- {
- if(globalResourceCalDAVList.collections[j].href!=undefined)
- {
- var uid=globalResourceCalDAVList.collections[j].uid;
- var check=$('#ResourceCalDAVList').find('[name^="'+uid+'"]');
- if(check.prop('checked'))
- {
- var pos=globalVisibleCalDAVCollections.indexOf(uid);
- if(pos!=-1)
- globalVisibleCalDAVCollections.splice(pos, 1);
- check.prop('checked', false);
- if(globalSettings.displayhiddenevents.value)
- hideCalendarEvents(uid);
- }
- collectionChBoxClick(check.get(0), '#'+check.parent().parent().attr('id'), '.resourceCalDAV_header', '.resourceCalDAV_item', null, false)
- }
-
- }
- if(!globalSettings.displayhiddenevents.value)
- {
- globalResourceRefreshNumber--;
- if(!globalResourceRefreshNumber)
- $('#CalendarLoader').css('display','none');
- }
- }
- function enableAll()
- {
- var counter=0;
- $('#ResourceCalDAVList').children(':visible').each(function(i, e){
- if($(e).hasClass('resourceCalDAV_item') && !$(e).find('input').prop('checked'))
- counter++;
- });
- if(!counter)
- return false;
- if(!globalSettings.displayhiddenevents.value)
- {
- globalResourceRefreshNumber++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- }
- var beforeScroll = $('#main').width()-$('#calendar').width();
- var rex = vCalendar.pre['accountUidParts'];
- for(var j=0;j<globalResourceCalDAVList.collections.length;j++)
- {
- if(globalResourceCalDAVList.collections[j].href!=undefined)
- {
- var uid=globalResourceCalDAVList.collections[j].uid;
- var check=$('#ResourceCalDAVList').find('[name^="'+uid+'"]');
- if(!check.prop('checked'))
- {
- check.prop('checked', true);
- var pos=globalVisibleCalDAVCollections.indexOf(uid);
- if(pos==-1)
- {
- globalVisibleCalDAVCollections[globalVisibleCalDAVCollections.length]=uid;
- if(globalSettings.displayhiddenevents.value)
- showCalendarEvents(uid);
- else
- {
- var bg = false;
- var tmpUID = uid.match(rex);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(uid);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var k=0; k<rbCalendars.length;k++)
- {
- if (typeof rbCalendars[k]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[k]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[k].length))
- bg=true;
- }
- else if (typeof rbCalendars[k]=='object' && hrefUID.match(rbCalendars[k])!=null)
- bg = true;
- }
- }
- var collection = globalResourceCalDAVList.collections[j];
- collection.fcSource = $('#calendar').fullCalendar('addEventSource', {events:globalEventList.displayEventsArray[uid],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor,textColor:checkFontColor(collection.ecolor),background:bg});
- }
- }
- }
- collectionChBoxClick(check.get(0), '#'+check.parent().parent().attr('id'), '.resourceCalDAV_header', '.resourceCalDAV_item', null, false)
- }
-
- }
- if(!globalSettings.displayhiddenevents.value)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- globalResourceRefreshNumber--;
- if(!globalResourceRefreshNumber)
- $('#CalendarLoader').css('display','none');
- }
- }
- function disableAllTodo()
- {
- disableAll();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
- function enableAllTodo()
- {
- enableAll();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
- function disableResource(header)
- {
- if(!globalSettings.displayhiddenevents.value)
- {
- globalResourceRefreshNumber++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- }
- var beforeScroll = $('#main').width()-$('#calendar').width();
- $(header).nextUntil('.resourceCalDAV_header').each(function(i, e){
- var uid=$(e).attr('data-id');
- var pos=globalVisibleCalDAVCollections.indexOf(uid);
- if(pos!=-1)
- {
- globalVisibleCalDAVCollections.splice(pos, 1);
- if(globalSettings.displayhiddenevents.value)
- hideCalendarEvents(uid);
- else
- $('#calendar').fullCalendar('removeEventSource', globalResourceCalDAVList.getCollectionByUID(uid).fcSource);
- }
- });
- if(!globalSettings.displayhiddenevents.value)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- globalResourceRefreshNumber--;
- if(!globalResourceRefreshNumber)
- $('#CalendarLoader').css('display','none');
- }
- }
- function enableResource(header)
- {
- if(!globalSettings.displayhiddenevents.value)
- {
- globalResourceRefreshNumber++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- }
- var beforeScroll = $('#main').width()-$('#calendar').width();
- $(header).nextUntil('.resourceCalDAV_header').each(function(i, e){
- var uid=$(e).attr('data-id');
- var pos=globalVisibleCalDAVCollections.indexOf(uid);
- if(pos==-1)
- {
- globalVisibleCalDAVCollections[globalVisibleCalDAVCollections.length]=uid;
- if(globalSettings.displayhiddenevents.value)
- showCalendarEvents(uid);
- else
- {
- var bg = false;
- var tmpUID = uid.match(vCalendar.pre['accountUidParts']);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(uid);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- var collection = globalResourceCalDAVList.getCollectionByUID(uid)
- collection.fcSource = $('#calendar').fullCalendar('addEventSource', {events:globalEventList.displayEventsArray[uid],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor,textColor:checkFontColor(collection.ecolor),background:bg});
- }
- }
- });
- if(!globalSettings.displayhiddenevents.value)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- globalResourceRefreshNumber--;
- if(!globalResourceRefreshNumber)
- $('#CalendarLoader').css('display','none');
- }
- }
- function disableResourceTodo(header)
- {
- if(!globalSettings.displayhiddenevents.value)
- {
- globalResourceRefreshNumberTodo++;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- }
- var beforeScroll = $('#mainTODO').width()-$('#todoList').width();
- $(header).nextUntil('.resourceCalDAVTODO_header').each(function(i, e){
- var uid=$(e).attr('data-id');
- var pos=globalVisibleCalDAVTODOCollections.indexOf(uid);
- if(pos!=-1)
- {
- globalVisibleCalDAVTODOCollections.splice(pos, 1);
- if(globalSettings.displayhiddenevents.value)
- hideCalendarTodos(uid);
- else
- $('#todoList').fullCalendar('removeEventSource', globalResourceCalDAVList.getTodoCollectionByUID(uid).fcSource);
- }
- });
- if(!globalSettings.displayhiddenevents.value)
- {
- var afterScroll = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScroll!=afterScroll);
- globalResourceRefreshNumberTodo--;
- if(!globalResourceRefreshNumberTodo)
- $('#CalendarLoaderTODO').css('display','none');
- }
- else
- $('#todoList').fullCalendar('selectEvent');
- }
- function enableResourceTodo(header)
- {
- if(!globalSettings.displayhiddenevents.value)
- {
- globalResourceRefreshNumberTodo++;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- }
- var beforeScroll = $('#mainTODO').width()-$('#todoList').width();
- $(header).nextUntil('.resourceCalDAVTODO_header').each(function(i, e){
- var uid=$(e).attr('data-id');
- var pos=globalVisibleCalDAVTODOCollections.indexOf(uid);
- if(pos==-1)
- {
- globalVisibleCalDAVTODOCollections[globalVisibleCalDAVTODOCollections.length]=uid;
- if(globalSettings.displayhiddenevents.value)
- showCalendarTodos(uid);
- else
- {
- var bg = false;
- var tmpUID = uid.match(vCalendar.pre['accountUidParts']);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(uid);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- var collection = globalResourceCalDAVList.getTodoCollectionByUID(uid);
- collection.fcSource = $('#todoList').fullCalendar('addEventSource', {events:globalEventList.displayTodosArray[uid],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor});
- }
- }
- });
- if(!globalSettings.displayhiddenevents.value)
- {
- var afterScroll = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScroll!=afterScroll);
- globalResourceRefreshNumberTodo--;
- if(!globalResourceRefreshNumberTodo)
- $('#CalendarLoaderTODO').css('display','none');
- }
- else
- $('#todoList').fullCalendar('selectEvent');
- }
- function disableCalendar(uid)
- {
- var pos=globalVisibleCalDAVCollections.indexOf(uid);
- if(pos!=-1)
- {
- globalVisibleCalDAVCollections.splice(pos, 1);
- if(globalSettings.displayhiddenevents.value)
- hideCalendarEvents(uid);
- else
- {
- var beforeScroll = $('#main').width()-$('#calendar').width();
- globalResourceRefreshNumber++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- $('#calendar').fullCalendar( 'removeEventSource', globalResourceCalDAVList.getCollectionByUID(uid).fcSource);
- globalResourceRefreshNumber--;
- if(!globalResourceRefreshNumber)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- $('#CalendarLoader').css('display','none');
- }
- }
- }
- }
- function enableCalendar(uid)
- {
- var pos=globalVisibleCalDAVCollections.indexOf(uid);
- if(pos==-1)
- {
- globalVisibleCalDAVCollections[globalVisibleCalDAVCollections.length]=uid;
- if(globalSettings.displayhiddenevents.value)
- showCalendarEvents(uid);
- else
- {
- var beforeScroll = $('#main').width()-$('#calendar').width();
- globalResourceRefreshNumber++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- var bg = false;
- var tmpUID = uid.match(vCalendar.pre['accountUidParts']);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(uid);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- var collection = globalResourceCalDAVList.getCollectionByUID(uid);
- collection.fcSource = $('#calendar').fullCalendar('addEventSource', {events:globalEventList.displayEventsArray[uid],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor,textColor:checkFontColor(collection.ecolor),background:bg});
- globalResourceRefreshNumber--;
- if(!globalResourceRefreshNumber)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- $('#CalendarLoader').css('display','none');
- }
- }
- }
- }
- function disableCalendarTodo(uid)
- {
- var pos=globalVisibleCalDAVTODOCollections.indexOf(uid);
- if(pos!=-1)
- {
- globalVisibleCalDAVTODOCollections.splice(pos, 1);
- if(globalSettings.displayhiddenevents.value) {
- hideCalendarTodos(uid);
- $('#todoList').fullCalendar('selectEvent');
- }
- else
- {
- var beforeScroll = $('#mainTODO').width()-$('#todoList').width();
- globalResourceRefreshNumberTodo++;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- $('#todoList').fullCalendar( 'removeEventSource', globalResourceCalDAVList.getTodoCollectionByUID(uid).fcSource);
- globalResourceRefreshNumberTodo--;
- if(!globalResourceRefreshNumberTodo)
- {
- var afterScroll = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScroll!=afterScroll);
- $('#CalendarLoaderTODO').css('display','none');
- }
- }
- }
- }
- function enableCalendarTodo(uid)
- {
- var pos=globalVisibleCalDAVTODOCollections.indexOf(uid);
- if(pos==-1)
- {
- globalVisibleCalDAVTODOCollections[globalVisibleCalDAVTODOCollections.length]=uid;
- if(globalSettings.displayhiddenevents.value) {
- showCalendarTodos(uid);
- $('#todoList').fullCalendar('selectEvent');
- }
- else
- {
- var beforeScroll = $('#mainTODO').width()-$('#todoList').width();
- globalResourceRefreshNumberTodo++;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- var bg = false;
- var tmpUID = uid.match(vCalendar.pre['accountUidParts']);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(uid);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- var collection = globalResourceCalDAVList.getTodoCollectionByUID(uid);
- collection.fcSource = $('#todoList').fullCalendar('addEventSource', {events:globalEventList.displayTodosArray[uid],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor});
- globalResourceRefreshNumberTodo--;
- if(!globalResourceRefreshNumberTodo)
- {
- var afterScroll = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScroll!=afterScroll);
- $('#CalendarLoaderTODO').css('display','none');
- }
- }
- }
- }
- function enableOne(uid)
- {
- for(var i=0;i<globalResourceCalDAVList.collections.length;i++)
- {
- if(globalResourceCalDAVList.collections[i].href!=undefined)
- {
- var currentUid=globalResourceCalDAVList.collections[i].uid;
- var check=$('#ResourceCalDAVList').find('[name^="'+currentUid+'"]');
- if(currentUid===uid && !check.prop('checked'))
- {
- var pos=globalVisibleCalDAVCollections.indexOf(currentUid);
- if(pos===-1)
- globalVisibleCalDAVCollections[globalVisibleCalDAVCollections.length]=uid;
- check.prop('checked', true);
- }
- else if(currentUid!==uid && check.prop('checked'))
- {
- var pos=globalVisibleCalDAVCollections.indexOf(currentUid);
- if(pos!==-1)
- globalVisibleCalDAVCollections.splice(pos, 1);
- check.prop('checked', false);
- if(globalSettings.displayhiddenevents.value)
- hideCalendarEvents(currentUid);
- }
- collectionChBoxClick(check.get(0), '#'+check.parent().parent().attr('id'), '.resourceCalDAV_header', '.resourceCalDAV_item', null, false)
- }
- }
- if(globalSettings.displayhiddenevents.value)
- {
- showCalendarEvents(uid);
- }
- else
- {
- globalResourceRefreshNumber++;
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- var beforeScroll = $('#main').width()-$('#calendar').width();
- $('#calendar').fullCalendar('removeEvents');
- $('#calendar').fullCalendar('removeEventSources');
- var bg = false;
- var tmpUID = uid.match(vCalendar.pre['accountUidParts']);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(uid);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- var collection = globalResourceCalDAVList.getCollectionByUID(uid);
- collection.fcSource = $('#calendar').fullCalendar('addEventSource', {events:globalEventList.displayEventsArray[uid],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor,textColor:checkFontColor(collection.ecolor),background:bg});
- globalResourceRefreshNumber--;
- if(!globalResourceRefreshNumber)
- {
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- $('#CalendarLoader').css('display','none');
- }
- }
- }
- function enableOneTodo(uid)
- {
- for(var i=0;i<globalResourceCalDAVList.TodoCollections.length;i++)
- {
- if(globalResourceCalDAVList.TodoCollections[i].href!=undefined)
- {
- var currentUid=globalResourceCalDAVList.TodoCollections[i].uid;
- var check=$('#ResourceCalDAVTODOList').find('[name^="'+currentUid+'"]');
- if(currentUid===uid && !check.prop('checked'))
- {
- var pos=globalVisibleCalDAVTODOCollections.indexOf(currentUid);
- if(pos===-1)
- globalVisibleCalDAVTODOCollections[globalVisibleCalDAVTODOCollections.length]=uid;
- check.prop('checked', true);
- }
- else if(currentUid!==uid && check.prop('checked'))
- {
- var pos=globalVisibleCalDAVTODOCollections.indexOf(currentUid);
- if(pos!==-1)
- globalVisibleCalDAVTODOCollections.splice(pos, 1);
- check.prop('checked', false);
- if(globalSettings.displayhiddenevents.value)
- hideCalendarTodos(currentUid);
- }
- collectionChBoxClick(check.get(0), '#'+check.parent().parent().attr('id'), '.resourceCalDAVTODO_header', '.resourceCalDAVTODO_item', null, false);
- }
- }
- if(globalSettings.displayhiddenevents.value)
- {
- showCalendarTodos(uid);
- $('#todoList').fullCalendar('selectEvent');
- }
- else
- {
- globalResourceRefreshNumberTodo++;
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader).parent().css('display','block');
- var beforeScroll = $('#mainTODO').width()-$('#todoList').width();
- $('#todoList').fullCalendar( 'removeEvents');
- $('#todoList').fullCalendar( 'removeEventSources');
- var bg = false;
- var tmpUID = uid.match(vCalendar.pre['accountUidParts']);
- var hrefUID='';
- if(tmpUID!=null)
- hrefUID = tmpUID[4];
- var resource = getResourceByCollection(uid);
- if(resource!=null && typeof resource.backgroundCalendars!='undefined' && resource.backgroundCalendars!=null && resource.backgroundCalendars!='')
- {
- var rbCalendars = '';
- if(resource.backgroundCalendars instanceof Array)
- rbCalendars=resource.backgroundCalendars;
- else
- rbCalendars = [resource.backgroundCalendars];
- for(var j=0; j<rbCalendars.length;j++)
- {
- if (typeof rbCalendars[j]=='string')
- {
- var index = hrefUID.indexOf(rbCalendars[j]);
- if(index!=-1)
- if(hrefUID.length == (index+rbCalendars[j].length))
- bg=true;
- }
- else if (typeof rbCalendars[j]=='object' && hrefUID.match(rbCalendars[j])!=null)
- bg = true;
- }
- }
- var collection = globalResourceCalDAVList.getTodoCollectionByUID(uid);
- collection.fcSource = $('#todoList').fullCalendar('addEventSource', {events:globalEventList.displayTodosArray[uid],backgroundColor:hexToRgba(collection.ecolor,0.9),borderColor:collection.ecolor});
- globalResourceRefreshNumberTodo--;
- if(!globalResourceRefreshNumberTodo)
- {
- var afterScroll = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScroll!=afterScroll);
- $('#CalendarLoaderTODO').css('display','none');
- }
- }
- }
- function getoffsetString(offset)
- {
- if(offset<0)
- {
- offset*=-1;
- offset='-'+(offset<10 ? '0' : '')+offset.toString().split('.')[0]+(offset.toString().split('.').length>1 ? '30' : '00')
- }
- else
- offset='+'+(offset<10 ? '0' : '')+offset.toString().split('.')[0]+(offset.toString().split('.').length>1 ? '30' : '00')
- return offset;
- }
- Date.prototype.stdTimezoneOffset=function()
- {
- var jan=new Date(this.getFullYear(), 0, 1);
- var jul=new Date(this.getFullYear(), 6, 1);
- return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
- }
- Date.prototype.dst=function()
- {
- return this.getTimezoneOffset()<this.stdTimezoneOffset();
- }
- function setGlobalDateFunction()
- {
- var date=new Date();
- var offset=date.getTimezoneOffset()*(-1)*60*1000;
- }
- function initFullCalendar()
- {
- $('#calendar').fullCalendar({
- eventMode: true,
- contentHeight: $('#main').height() - 14,
- windowResize: function(view){
- if(globalSettings.displayhiddenevents.value)
- hideEventCalendars();
- globalCalWidth = $('#main').width();
- if(typeof globalCalDAVInitLoad!='undefined' && !globalCalDAVInitLoad && !globalResourceRefreshNumber)
- $('#CalendarLoader').css('display','none');
- },
- bindingMode: globalSettings.openformmode.value,
- startOfBusiness: globalSettings.calendarstartofbusiness.value,
- endOfBusiness: globalSettings.calendarendofbusiness.value,
- multiWeekSize: globalMultiWeekSize,
- showWeekNumbers: true,
- showDatepicker: true,
-
- titleFormat: {
- month: globalSettings.titleformatmonth.value,
- multiWeek: globalSettings.titleformatweek.value,
- week: globalSettings.titleformatweek.value,
- day: globalSettings.titleformatday.value,
- table: globalSettings.titleformattable.value,
- },
- columnFormat: {
- month: 'ddd',
- multiWeek: 'ddd',
- week: globalSettings.columnformatagenda.value,
- day: globalSettings.columnformatagenda.value,
- table: globalSettings.columnformatagenda.value,
- },
- timeFormat: {
- agenda: globalSettings.timeformatagenda.value,
- list: globalSettings.ampmformat.value ? 'hh:mm TT{ - hh:mm TT}' : 'HH:mm{ - HH:mm}',
- listFull: dateFormatJqToFc(globalSettings.datepickerformat.value) + (globalSettings.ampmformat.value ? ' hh:mm TT{ - ' : ' HH:mm{ - ') + dateFormatJqToFc(globalSettings.datepickerformat.value) + (globalSettings.ampmformat.value ? ' hh:mm TT}' : ' HH:mm}'),
- listFullAllDay: dateFormatJqToFc(globalSettings.datepickerformat.value) + '{ - ' + dateFormatJqToFc(globalSettings.datepickerformat.value) + '}',
- '': globalSettings.timeformatbasic.value
- },
- axisFormat: globalSettings.ampmformat.value ? 'h:mm TT' : 'H:mm',
- buttonText: {
- month: localization[globalInterfaceLanguage].fullCalendarMonth,
- multiWeek: localization[globalInterfaceLanguage].fullCalendarMultiWeek,
- week: localization[globalInterfaceLanguage].fullCalendarAgendaWeek,
- day: localization[globalInterfaceLanguage].fullCalendarAgendaDay,
- table: localization[globalInterfaceLanguage].fullCalendarTable,
- today: localization[globalInterfaceLanguage].fullCalendarTodayButton,
- prevMonth: localization[globalInterfaceLanguage].loadPrevMonth,
- nextMonth: localization[globalInterfaceLanguage].loadNextMonth,
- },
- allDayText: localization[globalInterfaceLanguage].fullCalendarAllDay,
- monthNames: localization[globalInterfaceLanguage].monthNames,
- monthNamesShort: localization[globalInterfaceLanguage].monthNamesShort,
- dayNames: localization[globalInterfaceLanguage].dayNames,
- dayNamesShort: localization[globalInterfaceLanguage].dayNamesShort,
- dayEventSizeStrict: true,
- dayClick: function(date, allDay, jsEvent, view){
- if($('#ResourceCalDAVList .resourceCalDAV_item:visible').not('.resourceCalDAV_item_ro').length==0)
- return false;
- $('#show').val('');
- $('#CAEvent').hide();
- $('#timezonePicker').prop('disabled', true);
- $('#EventDisabler').fadeIn(globalEditorFadeAnimation, function(){
- showEventForm(date, allDay, null, jsEvent, 'new','');
- $('#name').focus();
- });
- },
- beforeViewDisplay: function(view){
-
- if(globalAllowFcRerender)
- $('#main').css('overflow','hidden');
- },
- viewDisplay: function(view){
-
- if(globalAllowFcRerender)
- $('#main').css('overflow','');
-
- if(globalAllowFcRerender && $('#main').width() - $('#calendar').width())
- {
- globalAllowFcRerender=false;
- $('#calendar').fullCalendar('render');
- return false;
- }
- globalCalWidth=$('#main').width();
- if(globalSettings.displayhiddenevents.value)
- hideEventCalendars();
- globalAllowFcRerender=true;
- },
- firstDay: globalSettings.datepickerfirstdayofweek.value,
- weekendDays: globalSettings.weekenddays.value,
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,multiWeek,agendaWeek,agendaDay'
- },
- listSections: 'day',
- headerContainer: $('#main_h_placeholder'),
- defaultView: globalSettings.activeview.value,
- editable: true,
- currentTimeIndicator: true,
- unselectAuto: false,
- eventClick: function(calEvent, jsEvent, view){
- globalCalEvent=calEvent;
- globalJsEvent=jsEvent;
- if(calEvent.type=='')
- showEventForm(null, calEvent.allDay, calEvent, jsEvent, 'show', '');
- else
- showEventForm(null, calEvent.allDay, calEvent, jsEvent, 'show', 'editOnly');
- },
- eventDragStart: function(calEvent, jsEvent, ui, view){
- globalPrevDragEventAllDay=calEvent.allDay;
- },
- eventDrop: function(calEvent, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view){
- if(calEvent.rid!='')
- {
- var coll = globalResourceCalDAVList.getCollectionByUID(calEvent.res_id);
- if(coll!=null && coll.permissions.read_only)
- {
- revertFunc();
- return false;
- }
- }
- if(calEvent.realStart && calEvent.realEnd)
- {
- var checkDate=new Date(calEvent.realStart.getFullYear(), calEvent.realStart.getMonth(), calEvent.realStart.getDate()+dayDelta, calEvent.realStart.getHours(), calEvent.realStart.getMinutes()+minuteDelta,0);
- var checkDateEnd=new Date(calEvent.realEnd.getFullYear(), calEvent.realEnd.getMonth(), calEvent.realEnd.getDate()+dayDelta, calEvent.realEnd.getHours(), calEvent.realEnd.getMinutes()+minuteDelta,0);
- if(calEvent.type!='')
- {
- calEvent.start=checkDate;
- calEvent.end=checkDateEnd;
- }
- else
- {
- calEvent.realStart=checkDate;
- calEvent.realEnd=checkDateEnd;
- }
- }
- else
- {
- calEvent.realStart=calEvent.start;
- calEvent.realEnd=calEvent.end;
- }
- globalRevertFunction=revertFunc;
- if(calEvent.type!='')
- showEventForm(null, calEvent.allDay, calEvent, jsEvent, 'drop', 'editOnly');
- else
- showEventForm(null, calEvent.allDay, calEvent, jsEvent, 'drop', '');
- save(true);
- globalPrevDragEvent = null;
- },
- eventResize: function(calEvent, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view){
- globalPrevDragEventAllDay=calEvent.allDay;
- if(calEvent.rid!='')
- {
- var coll = globalResourceCalDAVList.getCollectionByUID(calEvent.res_id);
- if(coll!=null && coll.permissions.read_only)
- {
- revertFunc();
- return false;
- }
- }
- if(calEvent.realStart && calEvent.realEnd)
- {
- var checkDateEnd = new Date(calEvent.realEnd.getFullYear(),calEvent.realEnd.getMonth(), calEvent.realEnd.getDate()+dayDelta, calEvent.realEnd.getHours(),calEvent.realEnd.getMinutes()+minuteDelta,0);
- if(calEvent.type!='')
- calEvent.end=checkDateEnd;
- else
- calEvent.realEnd=checkDateEnd;
- }
- else
- calEvent.realEnd=calEvent.end;
- globalRevertFunction=revertFunc;
- if(calEvent.type!='')
- showEventForm(null, calEvent.allDay, calEvent, jsEvent, 'drop', 'editOnly');
- else
- showEventForm(null, calEvent.allDay, calEvent, jsEvent, 'drop', '');
- save(true);
- },
- eventResizeHelperCreated: function(calEvent, jsEvent, element, helper, view){
- if(element.hasClass('searchCalDAV_hide'))
- helper.addClass('searchCalDAV_hide');
- if(element.hasClass('checkCalDAV_hide'))
- helper.addClass('checkCalDAV_hide');
- },
- selectable: true,
- selectHelper: false,
- select: function(startDate, endDate, allDay, jsEvent, view){
- $('#show').val('');
- $('#CAEvent').hide();
- $('#timezonePicker').prop('disabled', true);
- $('#EventDisabler').fadeIn(globalEditorFadeAnimation, function(){
- var calEvent=new Object();
- calEvent.start=startDate;
- calEvent.end=endDate;
- showEventForm(null, allDay, calEvent, jsEvent, 'new', '');
- $('#name').focus();
- });
- },
- eventAfterRender: function(event, element, view){
- element.attr('data-res-id',event.res_id);
- element.attr('data-id',event.id);
- element.addClass('event_item');
- if(event.status == 'CANCELLED')
- $(element).find('.fc-event-title').css('text-decoration', 'line-through');
- if(typeof event.hidden!='undefined' && event.hidden) {
- element.addClass('searchCalDAV_hide');
- if(view.name=='table' && !$(element).siblings().addBack().not('.searchCalDAV_hide').length)
- $(element).parent().prev().find('tr').addClass('searchCalDAV_hide');
- }
- element.mouseenter(function(e){
- clearTimeout(globalEventTimeoutID);
- globalEventTimeoutID = setTimeout(function(){
- showEventPopup(e, event);
- }, 500);
- });
- element.mousemove(function(e){
- if($('#CalDavZAPPopup').is(':visible'))
- moveEventPopup(e);
- });
- element.mouseout(function(e){
- if(!$.contains(element.get(0),e.relatedTarget)) {
- clearTimeout(globalEventTimeoutID);
- hideEventPopup();
- }
- });
- },
- viewChanged: function(view) {
- $('#CAEvent').hide();
- },
- todayClick: function() {
- $('#CAEvent').hide();
- },
- prevClick: function() {
- $('#CAEvent').hide();
- getPrevMonths($('#calendar').fullCalendar('getView').start);
- },
- nextClick: function() {
- $('#CAEvent').hide();
- getNextMonths($('#calendar').fullCalendar('getView').end);
- }
- });
- }
- function todoCheckClick(status, percent, calTodo)
- {
- var id=calTodo.repeatHash;
- if(typeof globalTodolistStatusArray[id]!='undefined' && typeof globalTodolistStatusArray[id].timeout!='undefined')
- clearTimeout(globalTodolistStatusArray[id].timeout);
- else if(typeof globalTodolistStatusArray[id]=='undefined')
- globalTodolistStatusArray[id]={};
- globalTodolistStatusArray[id].timeout = setTimeout(function(){
- if(typeof globalTodolistStatusArray[id]!='undefined')
- {
- $('#todoList').fullCalendar('allowSelectEvent',false);
- fullVcalendarToTodoData(calTodo,false);
- if(percent=='50' && typeof globalTodolistStatusArray[id].percent!='undefined')
- percent=globalTodolistStatusArray[id].percent;
- var vCalendarText='',
- groupCounter=0;
-
- if(vCalendar.tplM['VTbegin'][id]!=null && (process_elem=vCalendar.tplM['VTbegin'][id][0])!=undefined)
- vCalendarText+=vCalendar.tplM['VTbegin'][id][0];
- else
- {
- process_elem=vCalendar.tplC['VTbegin'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- vCalendarText+=process_elem;
- }
-
- if(vCalendar.tplM['VTcontentline_VERSION'][id]!=null && (process_elem=vCalendar.tplM['VTcontentline_VERSION'][id][0])!=undefined)
- {
-
- parsed=('\r\n'+process_elem).match(RegExp('\r\n((?:'+vCalendar.re['group']+'\\.)?)', 'm'));
- if(parsed[1]!='')
- process_elem=('\r\n'+process_elem).replace(RegExp('\r\n'+parsed[1].replace('.', '\\.'), 'mg'), '\r\nitem'+(groupCounter++)+'.').substring(2);
- }
- else
- {
- process_elem=vCalendar.tplC['VTcontentline_VERSION'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- }
- process_elem=process_elem.replace('##:::##version##:::##', '2.0');
- vCalendarText+=process_elem;
-
- if(vCalendar.tplM['VTcontentline_CALSCALE'][id]!=null && (process_elem=vCalendar.tplM['VTcontentline_CALSCALE'][id][0])!=undefined)
- {
-
- parsed=('\r\n'+process_elem).match(RegExp('\r\n((?:'+vCalendar.re['group']+'\\.)?)', 'm'));
- if(parsed[1]!='')
- process_elem=('\r\n'+process_elem).replace(RegExp('\r\n'+parsed[1].replace('.', '\\.'), 'mg'), '\r\nitem'+(groupCounter++)+'.').substring(2);
- }
- else
- {
- process_elem=vCalendar.tplC['VTcontentline_CALSCALE'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- }
- process_elem=process_elem.replace('##:::##calscale##:::##', 'GREGORIAN');
- vCalendarText+=process_elem;
- var stringUIDcurrent=calTodo.vcalendar.match(vCalendar.pre['contentline_UID']);
- if(stringUIDcurrent!=null)
- stringUIDcurrent=stringUIDcurrent[0].match(vCalendar.pre['contentline_parse'])[4];
- var rec_id='';
- if(calTodo.type!='' && calTodo.rec_id=='' && (!globalSettings.appleremindersmode.value || typeof globalAppleSupport.nextDates[calTodo.id]!='undefined'))
- {
- if(calTodo.repeatStart!='' && calTodo.start)
- {
- if(typeof calTodo.realStart=='object')
- rec_id=$.fullCalendar.formatDate(calTodo.realStart, "yyyyMMdd'T'HHmmss");
- else if(typeof calTodo.realStart =='string')
- rec_id=$.fullCalendar.formatDate($.fullCalendar.parseDate(calTodo.realStart), "yyyyMMdd'T'HHmmss");
- }
- else if(calTodo.repeatEnd!='' && calTodo.end)
- {
- if(typeof calTodo.realEnd =='object')
- rec_id=$.fullCalendar.formatDate(calTodo.realEnd, "yyyyMMdd'T'HHmmss");
- else if(typeof calTodo.realEnd =='string')
- rec_id=$.fullCalendar.formatDate($.fullCalendar.parseDate(calTodo.realEnd), "yyyyMMdd'T'HHmmss");
- }
- }
- else
- rec_id=calTodo.rec_id;
- var resultTodoObj = getRepeatTodoObject({
- rid:calTodo.res_id,
- uidTodo:calTodo.id,
- vcalendarHash: hex_sha256(calTodo.vcalendar),
- vcalendarUID: stringUIDcurrent,
- recurrenceId: rec_id,
- timezoneTODO: calTodo.timeZone,
- futureStart: '',
- deleteMode: false,
- vCalendarText:vCalendarText
- });
- vCalendarText = resultTodoObj.vCalendarText;
- var tzArray=resultTodoObj.tzArray;
- var tzString=resultTodoObj.tzString;
- var isTimeZone=resultTodoObj.isTimeZone;
- var origTimezone =resultTodoObj.origTimezone;
- var appleTodoMode=resultTodoObj.appleTodoMode;
- var realTodo = calTodo;
- var newFirst = resultTodoObj.newFirst;
- var sel_option = resultTodoObj.sel_option;
- var isUTC=false, timeZoneAttr='';
- var origFirst=vCalendarText;
- if(appleTodoMode)
- vCalendarText='';
- if(realTodo.start!=null || realTodo.end!=null)
- {
- if(globalSettings.timezonesupport.value)
- sel_option=realTodo.timeZone;
- if(sel_option=='UTC')
- {
- isUTC=true;
- timeZoneAttr='';
- }
- else if(sel_option=='local')
- timeZoneAttr='';
- else if(sel_option=='custom')
- timeZoneAttr=';'+vcalendarEscapeValue('TZID='+realTodo.timeZone);
- else
- timeZoneAttr=';'+vcalendarEscapeValue('TZID='+sel_option);
- if(vCalendarText.lastIndexOf('\r\n')!=(vCalendarText.length-2))
- vCalendarText+='\r\n';
- if(globalSettings.rewritetimezonecomponent.value || !vCalendar.tplM['unprocessedVTIMEZONE'][id])
- {
- if(tzArray.indexOf(sel_option)==-1)
- vCalendarText+=buildTimezoneComponent(sel_option);
- }
- else
- vCalendarText+=vCalendar.tplM['VTunprocessedVTIMEZONE'][id];
- }
- origFirst+=vCalendarText;
- var todoVc = calTodo.vcalendar;
- if(todoVc.indexOf('\r\n')==0 && vCalendarText.lastIndexOf('\r\n')==(vCalendarText.length-2))
- todoVc=todoVc.substring(2);
- if(todoVc.lastIndexOf('\r\n')!=(todoVc.length-2))
- todoVc+='\r\n';
- var additionalVCalendar = '';
- var d=new Date(), utc;
- utc=d.getUTCFullYear()+(d.getUTCMonth()+1<10 ? '0': '')+(d.getUTCMonth()+1)+(d.getUTCDate()<10 ? '0': '')+d.getUTCDate()+'T'+(d.getUTCHours()<10 ? '0': '')+d.getUTCHours()+(d.getUTCMinutes()<10 ? '0': '')+d.getUTCMinutes()+(d.getUTCSeconds()<10 ? '0': '')+d.getUTCSeconds()+'Z';
- if(rec_id=='')
- var checkVal='orig';
- else
- var checkVal=rec_id;
- var created='';
- for(var vev in vCalendar.tplM['VTcontentline_CREATED'][id])
- {
- if(vev==checkVal)
- created=vCalendar.tplM['VTcontentline_CREATED'][id][vev];
- }
- var v_element=null;
- if(created=='')
- {
- process_elem=vCalendar.tplC['VTcontentline_CREATED'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(utc));
- v_element=todoVc.match(vCalendar.pre['contentline_CREATED']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
- }
- process_elem=vCalendar.tplC['VTcontentline_LM'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(utc));
- v_element=todoVc.match(vCalendar.pre['contentline_LM']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
- process_elem=vCalendar.tplC['VTcontentline_DTSTAMP'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(utc));
- v_element=todoVc.match(vCalendar.pre['contentline_DTSTAMP']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
-
- if(appleTodoMode)
- {
- process_elem=vCalendar.tplC['VTcontentline_UID'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- var newUID=globalEventList.getNewUID();
- process_elem=process_elem.replace('##:::##uid##:::##', newUID);
- v_element=todoVc.match(vCalendar.pre['contentline_UID']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- }
- process_elem=vCalendar.tplC['VTcontentline_STATUS'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(status));
- v_element=todoVc.match(vCalendar.pre['contentline_STATUS']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
- process_elem=vCalendar.tplC['VTcontentline_PERCENT-COMPLETE'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(percent));
- v_element=todoVc.match(vCalendar.pre['contentline_PERCENT-COMPLETE']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
-
- if(rec_id!='')
- {
- if(!appleTodoMode)
- {
- process_elem=vCalendar.tplC['VTcontentline_REC_ID'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- if(rec_id.indexOf('T')==-1)
- {
- process_elem=process_elem.replace('##:::##AllDay##:::##', ';'+vcalendarEscapeValue('VALUE=DATE'));
- process_elem=process_elem.replace('##:::##TZID##:::##', vcalendarEscapeValue(''));
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(rec_id));
- }
- else
- {
- process_elem=process_elem.replace('##:::##AllDay##:::##', vcalendarEscapeValue(''));
- process_elem=process_elem.replace('##:::##TZID##:::##',timeZoneAttr);
- if(isUTC && rec_id.charAt(rec_id.length-1)!='Z')
- rec_id+='Z';
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(rec_id));
- }
- v_element=todoVc.match(vCalendar.pre['contentline_RECURRENCE_ID']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
- }
- var vcalendar_rule_element=todoVc.match(vCalendar.pre['contentline_RRULE2']);
- if(vcalendar_rule_element!=null)
- todoVc=todoVc.replace(vcalendar_rule_element[0], '\r\n');
- while(todoVc.match(vCalendar.pre['contentline_EXDATE'])!= null)
- {
- var vcalendar_ex_element=todoVc.match(vCalendar.pre['contentline_EXDATE']);
- if(vcalendar_ex_element!=null)
- {
- todoVc=todoVc.replace(vcalendar_ex_element[0], '\r\n');
- }
- }
- }
- if(realTodo.realStart!='' || realTodo.realEnd!='')
- {
- if(realTodo.realStart!='' && !appleTodoMode)
- {
- process_elem=vCalendar.tplC['VTcontentline_E_DTSTART'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- if(typeof realTodo.realStart=='object')
- var datetime_from=$.fullCalendar.formatDate(realTodo.realStart, "yyyyMMdd'T'HHmmss");
- else if(typeof realTodo.realStart =='string')
- var datetime_from=$.fullCalendar.formatDate($.fullCalendar.parseDate(realTodo.realStart), "yyyyMMdd'T'HHmmss");
- process_elem=process_elem.replace('##:::##AllDay##:::##', vcalendarEscapeValue(''));
- process_elem=process_elem.replace('##:::##TZID##:::##', timeZoneAttr);
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(datetime_from+(isUTC ? 'Z' : '')));
- if(appleTodoMode)
- {
- var process_elem2 = '';
- process_elem2=vCalendar.tplC['VTcontentline_DUE'];
- process_elem2=process_elem2.replace('##:::##group_wd##:::##', '');
- process_elem2=process_elem2.replace('##:::##params_wsc##:::##', '');
- process_elem2=process_elem2.replace('##:::##AllDay##:::##', vcalendarEscapeValue(''));
- process_elem2=process_elem2.replace('##:::##TZID##:::##',timeZoneAttr);
- process_elem2=process_elem2.replace('##:::##value##:::##', vcalendarEscapeValue(datetime_from+(isUTC ? 'Z' : '')));
- v_element=todoVc.match(vCalendar.pre['contentline_DUE']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem2);
- else
- additionalVCalendar+=process_elem2;
- }
- v_element=todoVc.match(vCalendar.pre['contentline_DTSTART']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
- }
- if(realTodo.realEnd!='')
- {
- process_elem=vCalendar.tplC['VTcontentline_DUE'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- if(typeof realTodo.realEnd=='object')
- var datetime_to=$.fullCalendar.formatDate(realTodo.realEnd, "yyyyMMdd'T'HHmmss");
- else if(typeof realTodo.realEnd =='string')
- var datetime_to=$.fullCalendar.formatDate($.fullCalendar.parseDate(realTodo.realEnd), "yyyyMMdd'T'HHmmss");
- process_elem=process_elem.replace('##:::##AllDay##:::##', vcalendarEscapeValue(''));
- process_elem=process_elem.replace('##:::##TZID##:::##',timeZoneAttr);
- process_elem=process_elem.replace('##:::##value##:::##', vcalendarEscapeValue(datetime_to+(isUTC ? 'Z' : '')));
- if(globalSettings.appleremindersmode.value)
- {
- var process_elem2 = '';
- process_elem2=vCalendar.tplC['VTcontentline_E_DTSTART'];
- process_elem2=process_elem2.replace('##:::##group_wd##:::##', '');
- process_elem2=process_elem2.replace('##:::##params_wsc##:::##', '');
- process_elem2=process_elem2.replace('##:::##AllDay##:::##', vcalendarEscapeValue(''));
- process_elem2=process_elem2.replace('##:::##TZID##:::##',timeZoneAttr);
- process_elem2=process_elem2.replace('##:::##value##:::##', vcalendarEscapeValue(datetime_to+(isUTC ? 'Z' : '')));
- v_element=todoVc.match(vCalendar.pre['contentline_DTSTART']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem2);
- else
- additionalVCalendar+=process_elem2;
- }
- v_element=todoVc.match(vCalendar.pre['contentline_DUE']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
- }
- }
- if(status=='COMPLETED'&&percent=='100')
- {
- var datetime_completed=new Date();
- sel_option='local';
- if(globalSettings.timezonesupport.value && realTodo.timeZone!='' && realTodo.timeZone!='local')
- sel_option=realTodo.timeZone;
- if(sel_option!='local')
- {
- var valOffsetFrom=getOffsetByTZ(sel_option, datetime_completed);
- var intOffset = valOffsetFrom.getSecondsFromOffset()*-1;
- datetime_completed = new Date(datetime_completed.setSeconds(intOffset));
- }
- var newValue=$.fullCalendar.formatDate(datetime_completed, "yyyyMMdd'T'HHmmss")+'Z';
- process_elem=vCalendar.tplC['VTcontentline_COMPLETED'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- process_elem=process_elem.replace('##:::##value##:::##', newValue);
- v_element=todoVc.match(vCalendar.pre['contentline_COMPLETED']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n'+process_elem);
- else
- additionalVCalendar+=process_elem;
- }
- else
- {
- v_element=todoVc.match(vCalendar.pre['contentline_COMPLETED']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], '\r\n');
- }
- if(typeof vCalendar.tplM['VTalarm_STRING'][id]!='undefined'&&vCalendar.tplM['VTalarm_STRING'][id]!='')
- additionalVCalendar+=vCalendar.tplM['VTalarm_STRING'][id];
- if(additionalVCalendar!='')
- {
- process_elem=vCalendar.tplC['VTendVTODO'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- v_element=todoVc.match(vCalendar.re['endVTODO']);
- if(v_element!=null)
- todoVc=todoVc.replace(v_element[0], additionalVCalendar+process_elem);
- }
- vCalendarText+=todoVc;
- if(appleTodoMode)
- {
- if(vCalendarText.indexOf('\r\n')==0 && newFirst.lastIndexOf('\r\n')==(newFirst.length-2))
- newFirst+=vCalendarText.substring(2,vCalendarText.length);
- else if((vCalendarText.indexOf('\r\n')==0 && newFirst.lastIndexOf('\r\n')!=(newFirst.length-2)) || (vCalendarText.indexOf('\r\n')!=0 && newFirst.lastIndexOf('\r\n')==(newFirst.length-2)) )
- newFirst+=vCalendarText;
- else
- newFirst+='\r\n'+vCalendarText;
- }
- if(appleTodoMode)
- vCalendarText = '';
-
- if(vCalendar.tplM['VTcontentline_PRODID'][id]!=null && (process_elem=vCalendar.tplM['VTcontentline_PRODID'][id][0])!=undefined)
- {
-
- parsed=('\r\n'+process_elem).match(RegExp('\r\n((?:'+vCalendar.re['group']+'\\.)?)', 'm'));
- if(parsed[1]!='')
- process_elem=('\r\n'+process_elem).replace(RegExp('\r\n'+parsed[1].replace('.', '\\.'), 'mg'), '\r\nitem'+(groupCounter++)+'.').substring(2);
- }
- else
- {
- process_elem=vCalendar.tplC['VTcontentline_PRODID'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- process_elem=process_elem.replace('##:::##params_wsc##:::##', '');
- }
- process_elem=process_elem.replace('##:::##value##:::##', '-//Inf-IT//'+globalAppName+' '+globalVersion+'//EN');
- vCalendarText+=process_elem;
- if(typeof vCalendar.tplM['VTunprocessed'][id]!='undefined' && vCalendar.tplM['VTunprocessed'][id]!='' && vCalendar.tplM['VTunprocessed'][id]!=null)
- {
- if(!appleTodoMode)
- vCalendarText+=vCalendar.tplM['VTunprocessed'][id].replace(RegExp('^\r\n'), '');
- else
- origFirst+=vCalendar.tplM['VTunprocessed'][id].replace(RegExp('^\r\n'), '');;
- }
- vCalendar.tplM['VTunprocessed'][id]=new Array();
-
- if(vCalendar.tplM['VTend'][id]!=null && (process_elem=vCalendar.tplM['VTend'][id][0])!=undefined)
- vCalendarText+=vCalendar.tplM['VTend'][id][0];
- else
- {
- process_elem=vCalendar.tplC['VTend'];
- process_elem=process_elem.replace('##:::##group_wd##:::##', '');
- vCalendarText+=process_elem;
- }
- var textArray = new Array();
- if(appleTodoMode)
- {
- newFirst += vCalendarText;
- if(origFirst.lastIndexOf('\r\n')!=(origFirst.length-2))
- origFirst += '\r\n';
- origFirst += vCalendarText;
- var fixed = checkAndFixMultipleUID(newFirst,false);
- if(fixed.length==1)
- textArray[textArray.length]=origFirst;
- else
- textArray=fixed;
- vCalendarText = newFirst;
- }
- var fixedArr = checkAndFixMultipleUID(vCalendarText,false);
- fixedArr = $.merge(textArray,fixedArr);
- var inputS = fixedArr[0];
- fixedArr.splice(0,1);
- var inputUID='';
- var coll = globalResourceCalDAVList.getTodoCollectionByUID(calTodo.id.substring(0, calTodo.id.lastIndexOf('/')+1));
- var res = getAccount(coll.accountUID);
- var tmp=res.href.match(vCalendar.pre['hrefRex']);
- var accountUID=tmp[1]+res.userAuth.userName+'@'+tmp[2];
- CalDAVeditor_cleanup(id);
- return putVcalendarToCollection(accountUID, calTodo.id, calTodo.etag, inputS, '','vtodo',true,false,fixedArr);
- }
- },globalTodoCheckTimeoutDelay);
- }
- function initTodoList()
- {
- $('#todoList').fullCalendar({
- eventMode: false,
- showUnstartedEvents: globalSettings.appleremindersmode.value,
- simpleFilters: globalSettings.appleremindersmode.value,
- contentHeight: $('#mainTODO').height() - 14,
- windowResize: function(view){
- if(globalSettings.displayhiddenevents.value)
- hideTodoCalendars();
- },
- showDatepicker: true,
- titleFormat: {
- todo: globalSettings.titleformattable.value
- },
- columnFormat: {
- todo: globalSettings.columnformatagenda.value
- },
- timeFormat: {
- list: dateFormatJqToFc(globalSettings.datepickerformat.value) + (globalSettings.ampmformat.value ? ' hh:mm TT' : ' HH:mm')
- },
- axisFormat: globalSettings.ampmformat.value ? 'h:mm TT' : 'H:mm',
- buttonText: {
- today: localization[globalInterfaceLanguage].fullCalendarTodayButton,
- filtersHeader: localization[globalInterfaceLanguage].txtStatusFiltersHeaderTODO,
- filtersFooter: localization[globalInterfaceLanguage].txtStatusFiltersFooterTODO,
- filterAction: localization[globalInterfaceLanguage].txtStatusNeedsActionTODO,
- filterProgress: localization[globalInterfaceLanguage].txtStatusInProcessTODO,
- filterCompleted: localization[globalInterfaceLanguage].txtStatusCompletedTODO,
- filterCanceled: localization[globalInterfaceLanguage].txtStatusCancelledTODO,
- },
- allDayText: localization[globalInterfaceLanguage].fullCalendarAllDay,
- monthNames: localization[globalInterfaceLanguage].monthNames,
- monthNamesShort: localization[globalInterfaceLanguage].monthNamesShort,
- dayNames: localization[globalInterfaceLanguage].dayNames,
- dayNamesShort: localization[globalInterfaceLanguage].dayNamesShort,
- defaultFilters: globalSettings.todolistfilterselected.value,
- viewDisplay: function(view){
- if(globalSettings.displayhiddenevents.value)
- hideTodoCalendars();
- $('.fc-view-todo').removeClass('fc-view-trans');
- },
- firstDay: globalSettings.datepickerfirstdayofweek.value,
- weekendDays: globalSettings.weekenddays.value,
- header: {
- left: 'prev,next today',
- center: '',
- right: ''
- },
- listSections: 'day',
- headerContainer: $('#mainTODO_h_placeholder'),
- defaultView: 'todo',
- editable: true,
- todoColThresholds: [
- {'col':'priority', 'width':552},
- {'col':'location', 'width':702}
- ],
- todoOptionalCols: [
- {'col':'time', 'width':142},
- {'col':'priority', 'width':18},
- {'col':'location', 'width':150}
- ],
- selectEmpty: function(){
- if($('#todoInEdit').val()!=='true') {
- $('#CATodo').attr('style','display:none');
- $('#todoColor').css('background-color','');
- }
- },
- eventClick: function(calTodo, jsEvent, view){
- if($('#todoInEdit').val()=='true')
- return false;
- globalCalTodo=calTodo;
- if(calTodo.type=='')
- showTodoForm(calTodo, 'show', '');
- else
- {
- if(globalSettings.appleremindersmode.value && (calTodo.status=='COMPLETED' || calTodo.status== 'CANCELLED'))
- showTodoForm(calTodo, 'show', '');
- else if(!globalSettings.appleremindersmode.value || typeof globalAppleSupport.nextDates[calTodo.id] != 'undefined')
- showTodoForm(calTodo, 'show', 'editOnly');
- else
- showTodoForm(calTodo, 'show', '');
- }
- },
- eventCheckDefault: function(event, checkbox, view) {
- var percent = parseInt(event.percent, 10);
- if(globalSettings.appleremindersmode.value)
- checkbox.prop('checked', percent>99);
- else {
- checkbox.prop({'checked':percent>0, 'indeterminate':percent>0 && percent<100});
- checkbox.attr('data-ind', percent>0 && percent<100 ? 'true' : 'false');
- }
- checkbox.prop('disabled', globalResourceCalDAVList.getTodoCollectionByUID(event.res_id).permissions.read_only);
- },
- eventCheckClicked: function(checkbox, calTodo, jsEvent, view) {
-
-
-
-
- jsEvent.stopPropagation();
- var eventElement = checkbox.parent().parent();
- var checked = checkbox.prop('checked');
- var ind = checkbox.attr('data-ind')==='true';
- var cancelled = eventElement.hasClass('fc-event-cancelled');
- if(!globalSettings.appleremindersmode.value) {
- checkbox.prop({'checked':ind || !checked && !cancelled ? !checked : checked, 'indeterminate':checked});
- checkbox.attr('data-ind', checked ? 'true' : 'false');
- eventElement.toggleClass('fc-event-cancelled', !ind && !checked && !cancelled);
- }
- var percent = '';
- var status = '';
- if(!checkbox.prop('checked')) {
- percent = '0';
- status = 'NEEDS-ACTION';
- }
- else if(checkbox.prop('indeterminate')) {
- percent = '50';
- status = 'IN-PROCESS';
- }
- else if(eventElement.hasClass('fc-event-cancelled')) {
- percent = '100';
- status = 'CANCELLED';
- }
- else {
- percent = '100';
- status = 'COMPLETED';
- }
- todoCheckClick(status, percent, calTodo);
- },
- eventAfterRender: function(event, element, view){
- element.attr("data-res-id",event.res_id);
- element.attr("data-repeat-hash",event.repeatHash);
- if(event.start)
- element.attr("data-start", $.fullCalendar.formatDate(event.start, "yyyyMMdd'T'HHmmss'Z'"));
- else
- element.attr("data-start", '');
- element.attr("data-id",event.id);
- element.addClass("event_item");
- var title = event.title.replace(vCalendar.pre['compressNewLineRex']," ");
- if(event.status == 'CANCELLED')
- $(element).addClass('fc-event-cancelled');
- switch(event.filterStatus)
- {
- case 'filterAction':
- title+=' ('+localization[globalInterfaceLanguage].txtStatusNeedsActionTODO+')';
- break;
- case 'filterProgress':
- title+=' ('+localization[globalInterfaceLanguage].txtStatusInProcessTODO+')';
- break;
- case 'filterCompleted':
- if(event.completedOn)
- title+=' ('+localization[globalInterfaceLanguage].txtCompletedOn+' '+$.fullCalendar.formatDate(event.completedOn, dateFormatJqToFc(globalSettings.datepickerformat.value)+' '+(globalSettings.ampmformat.value ? 'h:mm TT' : 'H:mm'))+')';
- else
- title+=' ('+localization[globalInterfaceLanguage].txtStatusCompletedTODO+')';
- break;
- case 'filterCanceled':
- title+=' ('+localization[globalInterfaceLanguage].txtStatusCancelledTODO+')';
- break;
- default:
- break;
- }
- element.attr("title",title);
- if(typeof event.hidden!='undefined' && event.hidden)
- element.addClass('searchCalDAV_hide');
- },
- prevClick: function() {
- getPrevMonthsTodo();
- },
- nextClick: function() {
- getNextMonthsTodo();
- },
- datepickerClick: function(date) {
- if(date>globalToLoadedLimitTodo)
- getNextMonthsTodo(true);
- else if(date<globalLoadedLimitTodo)
- getPrevMonthsTodo(true);
- }
- });
- $('#todoList').fullCalendar('allowSelectEvent',false);
- }
- function setFirstDayEvent(setDay)
- {
- var firstDay=typeof setDay!='undefined'?setDay:globalSettings.datepickerfirstdayofweek.value;
- var eventWeekDayCells = $('#week_custom .customTable td');
- var eventWeekDayContainer = eventWeekDayCells.parent();
- var eventMonthDayOptions = $('#repeat_month_custom_select2 option');
- var eventYearDayOptions = $('#repeat_year_custom_select2 option');
- for(i=firstDay; i<7; i++)
- {
- eventWeekDayContainer.append(eventWeekDayCells.filter('[data-type="'+i+'"]').detach());
- eventMonthDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(eventMonthDayOptions.filter('[data-type="month_custom_month"]'));
- eventYearDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(eventYearDayOptions.filter('[data-type="year_custom_month"]'));
- }
- for(i=0; i<firstDay; i++)
- {
- eventWeekDayContainer.append(eventWeekDayCells.filter('[data-type="'+i+'"]').detach());
- eventMonthDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(eventMonthDayOptions.filter('[data-type="month_custom_month"]'));
- eventYearDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(eventYearDayOptions.filter('[data-type="year_custom_month"]'));
- }
- eventWeekDayCells.removeClass('firstCol lastCol');
- eventWeekDayCells.filter('[data-type="'+firstDay+'"]').addClass('firstCol');
- eventWeekDayCells.filter('[data-type="'+(firstDay+6)%7+'"]').addClass('lastCol');
- }
- function setFirstDayTodo(setDay)
- {
- var firstDay=typeof setDay!='undefined'?setDay:globalSettings.datepickerfirstdayofweek.value;
- var todoWeekDayCells = $('#week_custom_TODO .customTable td');
- var todoWeekDayContainer = todoWeekDayCells.parent();
- var todoMonthDayOptions = $('#repeat_month_custom_select2_TODO option');
- var todoYearDayOptions = $('#repeat_year_custom_select2_TODO option');
- for(i=firstDay; i<7; i++)
- {
- todoWeekDayContainer.append(todoWeekDayCells.filter('[data-type="'+i+'"]').detach());
- todoMonthDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(todoMonthDayOptions.filter('[data-type="month_custom_month"]'));
- todoYearDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(todoYearDayOptions.filter('[data-type="year_custom_month"]'));
- }
- for(i=0; i<firstDay; i++)
- {
- todoWeekDayContainer.append(todoWeekDayCells.filter('[data-type="'+i+'"]').detach());
- todoMonthDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(todoMonthDayOptions.filter('[data-type="month_custom_month"]'));
- todoYearDayOptions.filter('[data-type="'+i+'"]').detach().insertBefore(todoYearDayOptions.filter('[data-type="year_custom_month"]'));
- }
- todoWeekDayCells.removeClass('firstCol lastCol');
- todoWeekDayCells.filter('[data-type="'+firstDay+'"]').addClass('firstCol');
- todoWeekDayCells.filter('[data-type="'+(firstDay+6)%7+'"]').addClass('lastCol');
- }
- function checkEventFormScrollBar()
- {
- if($('#eventDetailsContainer').is(':hidden'))
- return false;
- var baseWidth = 413;
- var scrollWidth = ($('#event_details_template').width() - $('#eventDetailsContainer').width());
- $('#event_details_template').width(baseWidth+scrollWidth);
- $('#eventColor').height($('#eventDetailsContainer').height()+12);
- }
- function checkTodoFormScrollBar()
- {
- var baseWidth=413;
- var scrollWidth=$('#todo_details_template').width() - $('#todoDetailsContainer').width();
- var previousWidth = parseInt($('#mainTODO').css('right'), 10);
- var newWidth = baseWidth+scrollWidth;
- if(previousWidth===newWidth)
- return true;
- $('#main_h_TODO, #searchFormTODO, #mainTODO').css('right', newWidth);
- $('#TodoDisabler').css('right', newWidth+1);
- $('#todoForm_h, #todoLoader').width(newWidth);
- $('#todoColor').css('right', newWidth-3);
- $('#todoForm').width(newWidth-3);
- $(window).resize();
- }
- function initTimepicker(ampm)
- {
- timelist=new Array();
- if(!ampm)
- {
- globalTimePre=new RegExp('^ *((([0-1]?[0-9]|2[0-3]):[0-5]?[0-9])|(([0-1][0-9]|2[0-3])[0-5][0-9])) *$','i');
-
- for(var i=0;i<24;i++)
- for(var j=0;j<minelems.length;j++)
- timelist.push(i.pad(2)+':'+minelems[j].pad(2));
- }
- else
- {
- globalTimePre=new RegExp('^ *((((0?[1-9]|1[0-2]):[0-5]?[0-9])|((0[1-9]|1[0-2])[0-5][0-9])) *AM|(((0?[1-9]|1[0-2]):[0-5]?[0-9])|((0[1-9]|1[0-2])[0-5][0-9])) *PM) *$','i');
-
- for(var i=0;i<24;i++)
- for(var j=0;j<minelems.length;j++)
- timelist.push((i==0 ? 12 : (i<13 ? i : i-12)).pad(2)+':'+minelems[j].pad(2)+(i<12 ? ' AM' : ' PM'));
- }
- }
- function showEventPrevNav()
- {
- $('#CAEvent .formNav.prev').click(function(){
- eventPrevNavClick();
- });
- $('#CAEvent .header').addClass('leftspace');
- $('#CAEvent .formNav.prev').css('display', 'block');
- }
- function showEventNextNav()
- {
- $('#CAEvent .formNav.next').click(function(){
- eventNextNavClick();
- });
- $('#CAEvent .header').addClass('rightspace');
- $('#CAEvent .formNav.next').css('display', 'block');
- }
- function showTodoPrevNav(uncompletedOnly)
- {
- var type='top';
- if(uncompletedOnly)
- type='bottom';
- $('#CATodo .formNav.prev.'+type).click(function(){
- todoPrevNavClick(uncompletedOnly);
- });
- $('#CATodo .header').addClass('leftspace');
- $('#CATodo .formNav.prev.'+type).css('display', 'block');
- }
- function showTodoNextNav(uncompletedOnly)
- {
- var type='top';
- if(uncompletedOnly)
- type='bottom';
- $('#CATodo .formNav.next.'+type).click(function(){
- todoNextNavClick(uncompletedOnly);
- });
- $('#CATodo .header').addClass('rightspace');
- $('#CATodo .formNav.next.'+type).css('display', 'block');
- }
- function eventPrevNavClick()
- {
- var eventsSorted=jQuery.grep(globalEventList.displayEventsArray[globalCalEvent.res_id],function(e){if(e.id==globalCalEvent.id)return true}).sort(repeatStartCompare);
- if(eventsSorted.indexOf(globalCalEvent)!=-1)
- {
- if(eventsSorted.indexOf(globalCalEvent)>0)
- {
- globalCalEvent=eventsSorted[eventsSorted.indexOf(globalCalEvent)-1];
- showEventForm(null, globalCalEvent.allDay, globalCalEvent, globalJsEvent, 'show', 'editOnly');
- }
- }
- }
- function eventNextNavClick()
- {
- var eventsSorted=jQuery.grep(globalEventList.displayEventsArray[globalCalEvent.res_id],function(e){if(e.id==globalCalEvent.id)return true}).sort(repeatStartCompare);
- if(eventsSorted.indexOf(globalCalEvent)!=-1)
- {
- if(eventsSorted.indexOf(globalCalEvent)<(eventsSorted.length-1))
- {
- globalCalEvent=eventsSorted[eventsSorted.indexOf(globalCalEvent)+1];
- showEventForm(null, globalCalEvent.allDay, globalCalEvent, globalJsEvent, 'show', 'editOnly');
- }
- }
- }
- function todoPrevNavClick(uncompletedOnly)
- {
- var eventsSorted=jQuery.grep(globalEventList.displayTodosArray[globalCalTodo.res_id],function(e){if(e.id==globalCalTodo.id)return true}).sort(repeatStartCompare);
- if(eventsSorted.indexOf(globalCalTodo)!=-1)
- {
- if(eventsSorted.indexOf(globalCalTodo)>0)
- {
- if(uncompletedOnly)
- {
- for(var ij=eventsSorted.indexOf(globalCalTodo)-1; ij>=0; ij--)
- if(eventsSorted[ij].status!='COMPLETED')
- {
- globalCalTodo=eventsSorted[ij];
- break;
- }
- }
- else
- globalCalTodo=eventsSorted[eventsSorted.indexOf(globalCalTodo)-1];
- showTodoForm(globalCalTodo, 'show', 'editOnly');
- }
- }
- }
- function todoNextNavClick(uncompletedOnly)
- {
- var eventsSorted=jQuery.grep(globalEventList.displayTodosArray[globalCalTodo.res_id],function(e){if(e.id==globalCalTodo.id)return true}).sort(repeatStartCompare);
- if(eventsSorted.indexOf(globalCalTodo)!=-1)
- {
- if(eventsSorted.indexOf(globalCalTodo)<(eventsSorted.length-1))
- {
- if(uncompletedOnly)
- {
- for(var ij=eventsSorted.indexOf(globalCalTodo)+1; ij<eventsSorted.length; ij++)
- if(eventsSorted[ij].status!='COMPLETED')
- {
- globalCalTodo=eventsSorted[ij];
- break;
- }
- }
- else
- globalCalTodo=eventsSorted[eventsSorted.indexOf(globalCalTodo)+1];
- showTodoForm(globalCalTodo, 'show', 'editOnly');
- }
- }
- }
- function todoStatusChanged(status)
- {
- if(status=='COMPLETED')
- {
- var today = new Date();
- $('.completedOnTr').show();
- if($('#completedOnDate').val()=='')
- $('#completedOnDate').val($.datepicker.formatDate(globalSettings.datepickerformat.value, today));
- if($('#completedOnTime').val()=='')
- $('#completedOnTime').val($.fullCalendar.formatDate(today, (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm')));
- $('#completedOnDate, #completedOnTime').change();
- }
- else {
- $('#completedOnDate, #completedOnTime').parent().find('img').css('display','none');
- $('.completedOnTr').hide();
- }
- checkTodoFormScrollBar();
- }
- function initKbTodoNavigation()
- {
- $(document.documentElement).keyup(function(event)
- {
- if(typeof globalActiveApp=='undefined' || globalActiveApp!='CalDavTODO' || typeof globalObjectLoading=='undefined' || globalObjectLoading==true)
- return true;
- if($('#SystemCalDavTODO').css('visibility')!='hidden' && isCalDAVLoaded && $('#TodoDisabler').css('display')=='none' && !$('#searchInputTODO').is(':focus'))
- {
-
- var selected_todo=null, next_todo=null;
- if((selected_todo=$('#SystemCalDavTODO').find('.fc-event-selected').parent()).length==1)
- {
- if(event.keyCode == 38 && (next_todo=selected_todo.prevAll('.fc-list-section').find('.fc-event').filter(':visible').last()).length || event.keyCode == 40 && (next_todo=selected_todo.nextAll('.fc-list-section').find('.fc-event').filter(':visible').first()).length)
- $('#todoList').fullCalendar('selectEvent', next_todo);
- }
- }
- });
- $(document.documentElement).keydown(function(event)
- {
- if(typeof globalActiveApp=='undefined' || globalActiveApp!='CalDavTODO' || typeof globalObjectLoading=='undefined' || globalObjectLoading==true)
- return true;
- if($('#SystemCalDavTODO').css('visibility')!='hidden' && isCalDAVLoaded && $('#TodoDisabler').css('display')=='none' && !$('#searchInputTODO').is(':focus'))
- {
-
- var selected_todo=null, next_todo=null;
- if((selected_todo=$('#SystemCalDavTODO').find('.fc-event-selected').parent()).length==1)
- {
- var list=$('#todoList').find('.fc-list-content');
- if(event.keyCode == 38 && (next_todo=selected_todo.prevAll('.fc-list-section').find('.fc-event').filter(':visible').last()).length || event.keyCode == 40 && (next_todo=selected_todo.nextAll('.fc-list-section').find('.fc-event').filter(':visible').first()).length)
- {
- switch(event.keyCode)
- {
- case 38:
- event.preventDefault();
- if(list.scrollTop()>list.scrollTop()+next_todo.offset().top-list.offset().top-list.height()*globalKBNavigationPaddingRate)
- list.scrollTop(list.scrollTop()+next_todo.offset().top-list.offset().top-list.height()*globalKBNavigationPaddingRate);
- else if(list.scrollTop()<list.scrollTop()+next_todo.offset().top+next_todo.height()-list.offset().top-list.height()*(1-globalKBNavigationPaddingRate))
- list.scrollTop(list.scrollTop()+next_todo.offset().top+next_todo.height()-list.offset().top-list.height()*(1-globalKBNavigationPaddingRate));
- else
- return false;
- break;
- case 40:
- event.preventDefault();
- if(list.scrollTop()<list.scrollTop()+next_todo.offset().top+next_todo.height()-list.offset().top-list.height()*(1-globalKBNavigationPaddingRate))
- list.scrollTop(list.scrollTop()+next_todo.offset().top+next_todo.height()-list.offset().top-list.height()*(1-globalKBNavigationPaddingRate));
- else if(list.scrollTop()>list.scrollTop()+next_todo.offset().top-list.offset().top-list.height()*globalKBNavigationPaddingRate)
- list.scrollTop(list.scrollTop()+next_todo.offset().top-list.offset().top-list.height()*globalKBNavigationPaddingRate);
- else
- return false;
- break;
- default:
- break;
- }
- }
- else
- {
- switch(event.keyCode)
- {
- case 38:
- list.scrollTop(0);
- break;
- case 40:
- list.scrollTop(list.prop('scrollHeight'));
- break;
- default:
- break;
- }
- }
- }
- }
- });
- }
- function translateEventAlerts()
- {
- $('[data-type="alert"]').text(localization[globalInterfaceLanguage].txtAlert);
- $('.alert').find('[data-type="alert_none"]').text(localization[globalInterfaceLanguage].txtAlertNone);
- $('.alert').find('[data-type="alert_message"]').text(localization[globalInterfaceLanguage].txtAlertMessage);
- $('[data-type="PH_before_after_alert"]').attr('placeholder',localization[globalInterfaceLanguage].pholderAfterBeforeVal);
- $('[data-type="PH_alarm_date"]').attr('placeholder',localization[globalInterfaceLanguage].pholderAlarmDate);
- $('[data-type="PH_alarm_time"]').attr('placeholder',localization[globalInterfaceLanguage].pholderAlarmTime);
- $('.alert_details').find('[data-type="on_date"]').text(localization[globalInterfaceLanguage].txtAlertOnDate);
- $('.alert_details').find('[data-type="weeks_before"]').text(localization[globalInterfaceLanguage].txtAlertWeeksBefore);
- $('.alert_details').find('[data-type="days_before"]').text(localization[globalInterfaceLanguage].txtAlertDaysBefore);
- $('.alert_details').find('[data-type="hours_before"]').text(localization[globalInterfaceLanguage].txtAlertHoursBefore);
- $('.alert_details').find('[data-type="minutes_before"]').text(localization[globalInterfaceLanguage].txtAlertMinutesBefore);
- $('.alert_details').find('[data-type="seconds_before"]').text(localization[globalInterfaceLanguage].txtAlertSecondsBefore);
- $('.alert_details').find('[data-type="weeks_after"]').text(localization[globalInterfaceLanguage].txtAlertWeeksAfter);
- $('.alert_details').find('[data-type="days_after"]').text(localization[globalInterfaceLanguage].txtAlertDaysAfter);
- $('.alert_details').find('[data-type="hours_after"]').text(localization[globalInterfaceLanguage].txtAlertHoursAfter);
- $('.alert_details').find('[data-type="minutes_after"]').text(localization[globalInterfaceLanguage].txtAlertMinutesAfter);
- $('.alert_details').find('[data-type="seconds_after"]').text(localization[globalInterfaceLanguage].txtAlertSecondsAfter);
- }
- function translateTodoAlerts()
- {
- $('[data-type="alert_TODO"]').text(localization[globalInterfaceLanguage].txtAlertTODO);
- $('.alertTODO').find('[data-type="alert_none_TODO"]').text(localization[globalInterfaceLanguage].txtAlertNone);
- $('.alertTODO').find('[data-type="alert_message_TODO"]').text(localization[globalInterfaceLanguage].txtAlertMessage);
- $('[data-type="PH_before_after_alert_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderAfterBeforeValTODO);
- $('[data-type="PH_alarm_date_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderAlarmDateTODO);
- $('[data-type="PH_alarm_time_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderAlarmTimeTODO);
- $('.alert_detailsTODO').find('[data-type="on_dateTODO"]').text(localization[globalInterfaceLanguage].txtAlertOnDateTODO);
- $('.alert_detailsTODO').find('[data-type="weeks_beforeTODO"]').text(localization[globalInterfaceLanguage].txtAlertWeeksBeforeTODO);
- $('.alert_detailsTODO').find('[data-type="days_beforeTODO"]').text(localization[globalInterfaceLanguage].txtAlertDaysBeforeTODO);
- $('.alert_detailsTODO').find('[data-type="hours_beforeTODO"]').text(localization[globalInterfaceLanguage].txtAlertHoursBeforeTODO);
- $('.alert_detailsTODO').find('[data-type="minutes_beforeTODO"]').text(localization[globalInterfaceLanguage].txtAlertMinutesBeforeTODO);
- $('.alert_detailsTODO').find('[data-type="seconds_beforeTODO"]').text(localization[globalInterfaceLanguage].txtAlertSecondsBeforeTODO);
- $('.alert_detailsTODO').find('[data-type="weeks_afterTODO"]').text(localization[globalInterfaceLanguage].txtAlertWeeksAfterTODO);
- $('.alert_detailsTODO').find('[data-type="days_afterTODO"]').text(localization[globalInterfaceLanguage].txtAlertDaysAfterTODO);
- $('.alert_detailsTODO').find('[data-type="hours_afterTODO"]').text(localization[globalInterfaceLanguage].txtAlertHoursAfterTODO);
- $('.alert_detailsTODO').find('[data-type="minutes_afterTODO"]').text(localization[globalInterfaceLanguage].txtAlertMinutesAfterTODO);
- $('.alert_detailsTODO').find('[data-type="seconds_afterTODO"]').text(localization[globalInterfaceLanguage].txtAlertSecondsAfterTODO);
- }
- function translate()
- {
- $.datepicker.regional[globalInterfaceLanguage] = {
- monthNames: localization[globalInterfaceLanguage].monthNames,
- monthNamesShort: localization[globalInterfaceLanguage].monthNamesShort,
- dayNames: localization[globalInterfaceLanguage].dayNames,
- dayNamesShort: localization[globalInterfaceLanguage].dayNamesShort,
- dayNamesMin: localization[globalInterfaceLanguage].dayNamesMin};
- $.datepicker.setDefaults($.datepicker.regional[globalInterfaceLanguage]);
-
- $('[data-type="system_username"]').attr('placeholder',localization[globalInterfaceLanguage].pholderUsername);
- $('[data-type="system_password"]').attr('placeholder',localization[globalInterfaceLanguage].pholderPassword);
- $('[data-type="system_login"]').attr({'title':localization[globalInterfaceLanguage].buttonLogin,'alt':localization[globalInterfaceLanguage].buttonLogin});
- $('.resourceCalDAV_text[data-type="resourcesCalDAV_txt"]').text(localization[globalInterfaceLanguage].txtCalendars);
- $('[data-type="choose_calendar_TODO"]').text(localization[globalInterfaceLanguage].txtSelectCalendarTODO);
- $('[data-type="todo_txt"]').text(localization[globalInterfaceLanguage].txtTodo);
- $('#eventFormShower').attr('alt',localization[globalInterfaceLanguage].altAddEvent);
- $('#showUnloadedCalendars').attr({title:capitalize(localization[globalInterfaceLanguage].txtEnabledCalendars),alt:capitalize(localization[globalInterfaceLanguage].txtEnabledCalendars)});
- $('#showUnloadedCalendarsTODO').attr({title:capitalize(localization[globalInterfaceLanguage].txtEnabledTodoLists),alt:capitalize(localization[globalInterfaceLanguage].txtEnabledTodoLists)});
- $('#loadUnloadedCalendars, #loadUnloadedCalendarsTODO').val(localization[globalInterfaceLanguage].buttonSave);
- $('#loadUnloadedCalendarsCancel, #loadUnloadedCalendarsTODOCancel').val(localization[globalInterfaceLanguage].buttonCancel);
- $('.resourceCalDAVTODO_text[data-type="resourcesCalDAV_txt"]').text(localization[globalInterfaceLanguage].txtTodoLists);
- $('[data-type="name_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderNameTODO);
- $('[data-type="type_TODO"]').text(localization[globalInterfaceLanguage].txtTypeTODO);
- $('[data-type="todo_type_none"]').text(localization[globalInterfaceLanguage].txtTypeTODONone);
- $('[data-type="todo_type_start"]').text(localization[globalInterfaceLanguage].txtTypeTODOStart);
- $('[data-type="todo_type_due"]').text(localization[globalInterfaceLanguage].txtTypeTODODue);
- $('[data-type="todo_type_both"]').text(localization[globalInterfaceLanguage].txtTypeTODOBoth);
- $('[data-type="date_from_TODO"]').text(localization[globalInterfaceLanguage].txtDateFromTODO);
- $('[data-type="date_to_TODO"]').text(localization[globalInterfaceLanguage].txtDateToTODO);
- $('[data-type="PH_completedOn"]').text(localization[globalInterfaceLanguage].txtCompletedOn);
- $('[data-type="PH_date_from_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderDateFromTODO);
- $('[data-type="PH_time_from_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderTimeFromTODO);
- $('[data-type="PH_date_to_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderDateToTODO);
- $('[data-type="PH_time_to_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderTimeToTODO);
- $('[data-type="PH_completedOnDate"]').attr('placeholder',localization[globalInterfaceLanguage].pholderCompletedOnDate);
- $('[data-type="PH_completedOnTime"]').attr('placeholder',localization[globalInterfaceLanguage].pholderCompletedOnTime);
- $('[data-type="status_TODO"]').text(localization[globalInterfaceLanguage].txtStatus);
- $('[data-type="STATUS_NEEDS-ACTION_TODO"]').text(localization[globalInterfaceLanguage].txtStatusNeedsActionTODO);
- $('[data-type="STATUS_COMPLETED_TODO"]').text(localization[globalInterfaceLanguage].txtStatusCompletedTODO);
- $('[data-type="STATUS_IN-PROCESS_TODO"]').text(localization[globalInterfaceLanguage].txtStatusInProcessTODO);
- $('[data-type="STATUS_CANCELLED_TODO"]').text(localization[globalInterfaceLanguage].txtStatusCancelledTODO);
- $('[data-type="percent_complete_TODO"]').text(localization[globalInterfaceLanguage].txtPercentCompletedTODO);
- $('[data-type="priority_TODO"]').text(localization[globalInterfaceLanguage].txtPriority);
- $('[data-type="priority_TODO_none"]').text(localization[globalInterfaceLanguage].txtPriorityNone);
- $('[data-type="priority_TODO_low"]').text(localization[globalInterfaceLanguage].txtPriorityLow);
- $('[data-type="priority_TODO_medium"]').text(localization[globalInterfaceLanguage].txtPriorityMedium);
- $('[data-type="priority_TODO_high"]').text(localization[globalInterfaceLanguage].txtPriorityHigh);
- $('[data-type="calendar_TODO"]').text(localization[globalInterfaceLanguage].txtTodoList);
- $('[data-type="note_TODO"]').text(localization[globalInterfaceLanguage].txtNoteTODO);
- $('[data-type="PH_note_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].pholderNoteTODO);
- $('[data-type="txt_availTODO"]').text(localization[globalInterfaceLanguage].eventAvailability);
- $('[data-type="BUSY_AVAIL_TODO"]').text(localization[globalInterfaceLanguage].eventAvailabilityBusy);
- $('[data-type="FREE_AVAIL_TODO"]').text(localization[globalInterfaceLanguage].eventAvailabilityFree);
- $('[data-type="txt_typeTODO"]').text(localization[globalInterfaceLanguage].eventType);
- $('[data-type="PUBLIC_TYPE_TODO"]').text(localization[globalInterfaceLanguage].eventTypePublic);
- $('[data-type="PRIVATE_TYPE_TODO"]').text(localization[globalInterfaceLanguage].eventTypePrivate);
- $('[data-type="CONFIDENTIAL_TYPE_TODO"]').text(localization[globalInterfaceLanguage].eventTypeConfidential);
- $('[data-type="txt_url_TODO"]').text(localization[globalInterfaceLanguage].eventURL);
- $('[data-type="url_TODO"]').attr('placeholder',localization[globalInterfaceLanguage].eventURL);
- $('[data-type="todo_prev_nav"]').attr('title',localization[globalInterfaceLanguage].todoPrevNav);
- $('[data-type="todo_next_nav"]').attr('title',localization[globalInterfaceLanguage].todoNextNav);
- $('[data-type="todo_prev_uncompleted_nav"]').attr('title',localization[globalInterfaceLanguage].todoUncompletedPrevNav);
- $('[data-type="todo_next_uncompleted_nav"]').attr('title',localization[globalInterfaceLanguage].todoUncompletedNextNav);
- $("#saveTODO").val(localization[globalInterfaceLanguage].buttonSaveTODO);
- $("#editTODO").val(localization[globalInterfaceLanguage].buttonEditTODO);
- $("#duplicateTODO").val(localization[globalInterfaceLanguage].buttonDuplicate);
- $("#resetTODO").val(localization[globalInterfaceLanguage].buttonResetTODO);
- $("#closeTODO").val(localization[globalInterfaceLanguage].buttonCloseTODO);
- $("#deleteTODO").val(localization[globalInterfaceLanguage].buttonDeleteTODO);
- $('[data-type="name"]').attr('placeholder',localization[globalInterfaceLanguage].pholderName);
- $('[data-type="location"]').text(localization[globalInterfaceLanguage].txtLocation);
- $('[data-type="PH_location"]').attr('placeholder',localization[globalInterfaceLanguage].pholderLocation);
- $('[data-type="all_day"]').text(localization[globalInterfaceLanguage].txtAllDay);
- $('[data-type="from"]').text(localization[globalInterfaceLanguage].from);
- $('[data-type="to"]').text(localization[globalInterfaceLanguage].to);
- $('[data-type="PH_date_from"]').attr('placeholder',localization[globalInterfaceLanguage].pholderDateFrom);
- $('[data-type="PH_time_from"]').attr('placeholder',localization[globalInterfaceLanguage].pholderTimeFrom);
- $('[data-type="PH_date_to"]').attr('placeholder',localization[globalInterfaceLanguage].pholderDateTo);
- $('[data-type="PH_time_to"]').attr('placeholder',localization[globalInterfaceLanguage].pholderTimeTo);
- $('[data-type="repeat"]').text(localization[globalInterfaceLanguage].txtRepeat);
- $('[data-type="PH_until_date"]').attr('placeholder',localization[globalInterfaceLanguage].pholderUntilDate);
- $('[data-type="PH_repeat_count"]').attr('placeholder',localization[globalInterfaceLanguage].pholderRepeatCount);
- $('[data-type="repeat_end"]').text(localization[globalInterfaceLanguage].txtRepeatEnd);
- $('[data-type="show_as"]').text(localization[globalInterfaceLanguage].txtShowAs);
- $('[data-type="priority"]').text(localization[globalInterfaceLanguage].txtPriority);
- $('[data-type="priority_none"]').text(localization[globalInterfaceLanguage].txtPriorityNone);
- $('[data-type="priority_low"]').text(localization[globalInterfaceLanguage].txtPriorityLow);
- $('[data-type="priority_medium"]').text(localization[globalInterfaceLanguage].txtPriorityMedium);
- $('[data-type="priority_high"]').text(localization[globalInterfaceLanguage].txtPriorityHigh);
- $('[data-type="event_calendar"]').text(localization[globalInterfaceLanguage].txtEventCalendar);
- $('[data-type="choose_calendar"]').text(localization[globalInterfaceLanguage].txtSelectCalendar);
- $('[data-type="note"]').text(localization[globalInterfaceLanguage].txtNote);
- $('[data-type="PH_note"]').attr('placeholder',localization[globalInterfaceLanguage].pholderNote);
- $('[data-type="status"]').text(localization[globalInterfaceLanguage].txtStatus);
- $('[data-type="STATUS_NONE"]').text(localization[globalInterfaceLanguage].txtStatusNone);
- $('[data-type="STATUS_TENTATIVE"]').text(localization[globalInterfaceLanguage].txtStatusTentative);
- $('[data-type="STATUS_CONFIRMED"]').text(localization[globalInterfaceLanguage].txtStatusConfirmed);
- $('[data-type="STATUS_CANCELLED"]').text(localization[globalInterfaceLanguage].txtStatusCancelled);
- $('[data-type="txt_avail"]').text(localization[globalInterfaceLanguage].eventAvailability);
- $('[data-type="BUSY_AVAIL"]').text(localization[globalInterfaceLanguage].eventAvailabilityBusy);
- $('[data-type="FREE_AVAIL"]').text(localization[globalInterfaceLanguage].eventAvailabilityFree);
- $('[data-type="txt_type"]').text(localization[globalInterfaceLanguage].eventType);
- $('[data-type="PUBLIC_TYPE"]').text(localization[globalInterfaceLanguage].eventTypePublic);
- $('[data-type="PRIVATE_TYPE"]').text(localization[globalInterfaceLanguage].eventTypePrivate);
- $('[data-type="CONFIDENTIAL_TYPE"]').text(localization[globalInterfaceLanguage].eventTypeConfidential);
- $('[data-type="txt_url_EVENT"]').text(localization[globalInterfaceLanguage].eventURL);
- $('[data-type="url_EVENT"]').attr('placeholder',localization[globalInterfaceLanguage].eventURL);
- $('[data-type="repeat_no-repeat"]').text(localization[globalInterfaceLanguage].txtNoRepeat);
- $('[data-type="repeat_DAILY"]').text(localization[globalInterfaceLanguage].txtRepeatDay);
- $('[data-type="repeat_WEEKLY"]').text(localization[globalInterfaceLanguage].txtRepeatWeek);
- $('[data-type="repeat_WEEKEND"]').text(localization[globalInterfaceLanguage].txtRepeatWeekend);
- $('[data-type="repeat_MONTHLY"]').text(localization[globalInterfaceLanguage].txtRepeatMonth);
- $('[data-type="repeat_TWO_WEEKLY"]').text(localization[globalInterfaceLanguage].txtRepeatTwoWeek);
- $('[data-type="repeat_YEARLY"]').text(localization[globalInterfaceLanguage].txtRepeatYear);
- $('[data-type="repeat_CUSTOM_WEEKLY"]').text(localization[globalInterfaceLanguage].txtRepeatCustomWeek);
- $('[data-type="repeat_CUSTOM_MONTHLY"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonth);
- $('[data-type="repeat_CUSTOM_YEARLY"]').text(localization[globalInterfaceLanguage].txtRepeatCustomYear);
- $('[data-type="repeat_BUSINESS"]').text(localization[globalInterfaceLanguage].txtRepeatWork);
- $('[data-type="week_custom_txt"]').text(localization[globalInterfaceLanguage].txtRepeatCustomWeekLabel);
- $('[data-type="month_custom2_txt"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthLabel);
- $('[data-type="month_custom_every"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthEvery);
- $('[data-type="month_custom_first"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthFirst);
- $('[data-type="month_custom_second"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthSecond);
- $('[data-type="month_custom_third"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthThird);
- $('[data-type="month_custom_fourth"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthFourth);
- $('[data-type="month_custom_fifth"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthFifth);
- $('[data-type="month_custom_last"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthLast);
- $('[data-type="month_custom_custom"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthCustom);
- $('[data-type="month_custom_month"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthMonth);
- $('[data-type="year_custom1"]').text(localization[globalInterfaceLanguage].txtRepeatCustomYearLabel1);
- $('[data-type="year_custom3"]').text(localization[globalInterfaceLanguage].txtRepeatCustomYearLabel2);
- $('[data-type="year_custom_every"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthEvery);
- $('[data-type="year_custom_first"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthFirst);
- $('[data-type="year_custom_second"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthSecond);
- $('[data-type="year_custom_third"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthThird);
- $('[data-type="year_custom_fourth"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthFourth);
- $('[data-type="year_custom_fifth"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthFifth);
- $('[data-type="year_custom_last"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthLast);
- $('[data-type="year_custom_custom"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthCustom);
- $('[data-type="year_custom_month"]').text(localization[globalInterfaceLanguage].txtRepeatCustomMonthMonth);
- for(i=0; i<12; i++)
- {
- $('#year_custom3 .customTable td[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].monthNamesShort[i]);
- $('#year_custom3_TODO .customTable td[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].monthNamesShort[i]);
- }
- for(i=0; i<7; i++)
- {
- $('#repeat_month_custom_select2 option[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].dayNames[i]);
- $('#repeat_month_custom_select2_TODO option[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].dayNames[i]);
- $('#repeat_year_custom_select2 option[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].dayNames[i]);
- $('#repeat_year_custom_select2_TODO option[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].dayNames[i]);
- }
- for(i=0; i<7; i++)
- {
- $('#week_custom .customTable td[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].dayNamesMin[i]);
- $('#week_custom_TODO .customTable td[data-type="'+i+'"]').text(localization[globalInterfaceLanguage].dayNamesMin[i]);
- }
- $('[data-type="repeat_details_on_date"]').text(localization[globalInterfaceLanguage].txtRepeatOnDate);
- $('[data-type="repeat_details_after"]').text(localization[globalInterfaceLanguage].txtRepeatAfter);
- $('[data-type="repeat_details_never"]').text(localization[globalInterfaceLanguage].txtRepeatNever);
- $('[data-type="event_prev_nav"]').attr('title',localization[globalInterfaceLanguage].eventPrevNav);
- $('[data-type="event_next_nav"]').attr('title',localization[globalInterfaceLanguage].eventNextNav);
- $("#saveButton").val(localization[globalInterfaceLanguage].buttonSave);
- $("#editButton").val(localization[globalInterfaceLanguage].buttonEdit);
- $("#duplicateButton").val(localization[globalInterfaceLanguage].buttonDuplicate);
- $("#resetButton").val(localization[globalInterfaceLanguage].buttonReset);
- $("#closeButton").val(localization[globalInterfaceLanguage].buttonClose);
- $("#deleteButton").val(localization[globalInterfaceLanguage].buttonDelete);
- $('#alertsH').text(localization[globalInterfaceLanguage].txtAlertsH);
- $("#alertButton").val(localization[globalInterfaceLanguage].buttonAlert);
- $('[data-type="PH_CalDAVsearch"]').attr('placeholder',localization[globalInterfaceLanguage].CalDAVsearch);
- $('[data-type="addAll"]').attr('title',localization[globalInterfaceLanguage].allEnable);
- $('[data-type="addAll"]').attr('alt',localization[globalInterfaceLanguage].allEnable);
- $('[data-type="removeAll"]').attr('title',localization[globalInterfaceLanguage].allDisable);
- $('[data-type="removeAll"]').attr('alt',localization[globalInterfaceLanguage].allDisable);
- $('[data-type="txt_timezone"]').text(localization[globalInterfaceLanguage].timezone);
- $('[data-type="txt_timezonePicker"]').text(localization[globalInterfaceLanguage].txtTimezonePicker);
- $('[data-type="txt_timezoneTODO"]').text(localization[globalInterfaceLanguage].timezone);
- $('#CalendarLoader').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader);
- $('#CalendarLoaderTODO').children('.loaderInfo').text(localization[globalInterfaceLanguage].calendarLoader);
- $('[data-type="repeat_event"]').text(localization[globalInterfaceLanguage].repeatBoxButton);
- $('[data-type="editOptions"]').attr('value',localization[globalInterfaceLanguage].repeatBoxButton);
- $('[data-type="editOptionsTODO"]').attr('value',localization[globalInterfaceLanguage].repeatBoxButton);
- $('#editAll').val(localization[globalInterfaceLanguage].allEvsButton);
- $('#editFuture').val(localization[globalInterfaceLanguage].allFutureButton);
- $('#editOnlyOne').val(localization[globalInterfaceLanguage].eventOnlyButton);
- $('#editAllTODO').val(localization[globalInterfaceLanguage].allEvsButtonTODO);
- $('#editFutureTODO').val(localization[globalInterfaceLanguage].allFutureButtonTODO);
- $('#editOnlyOneTODO').val(localization[globalInterfaceLanguage].eventOnlyButtonTODO);
- $('[data-type="closeRepeat"]').val(localization[globalInterfaceLanguage].buttonClose);
- $('[data-type="repeat_type"]').text(localization[globalInterfaceLanguage].repeatInterval);
- $('#CalDavZAPPopup').find('[data-type="location_txt"]').text(localization[globalInterfaceLanguage].txtLocation);
- $('#CalDavZAPPopup').find('[data-type="from_txt"]').text(localization[globalInterfaceLanguage].from);
- $('#CalDavZAPPopup').find('[data-type="to_txt"]').text(localization[globalInterfaceLanguage].to);
- $('#CalDavZAPPopup').find('[data-type="status_txt"]').text(localization[globalInterfaceLanguage].txtStatus);
- $('#CalDavZAPPopup').find('[data-type="avail_txt"]').text(localization[globalInterfaceLanguage].eventAvailability);
- $('#CalDavZAPPopup').find('[data-type="type_txt"]').text(localization[globalInterfaceLanguage].eventType);
- $('#CalDavZAPPopup').find('[data-type="priority_txt"]').text(localization[globalInterfaceLanguage].txtPriority);
- $('#CalDavZAPPopup').find('[data-type="calendar_txt"]').text(localization[globalInterfaceLanguage].txtEventCalendar);
- $('#CalDavZAPPopup').find('[data-type="url_txt"]').text(localization[globalInterfaceLanguage].eventURL);
- $('#CalDavZAPPopup').find('[data-type="note_txt"]').text(localization[globalInterfaceLanguage].txtNote);
- translateEventAlerts();
- translateTodoAlerts();
- }
- function selectActiveCalendar()
- {
- var todoString = "";
- if(!globalEventCollectionsLoading && globalSettingsSaving!='event')
- {
- $('#ResourceCalDAVList').find('.resourceCalDAV_item_selected').removeClass('resourceCalDAV_item_selected');
- for(var i=0; i<globalResourceCalDAVList.collections.length;i++)
- if(globalResourceCalDAVList.collections[i].uid!=undefined)
- {
- var inputResource = globalResourceCalDAVList.collections[i];
- var par=inputResource.uid.split('/');
-
- if(globalSettings.calendarselected.value!='')
- {
- if((par[par.length-3]+'/'+par[par.length-2]+'/')==globalSettings.calendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if(inputResource.uid==globalSettings.calendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if (typeof globalSettings.calendarselected.value=='object' && inputResource.uid.match(globalSettings.calendarselected.value)!=null)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- }
- }
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- for(var i=0; i<globalResourceCalDAVList.collections.length;i++)
- if(globalResourceCalDAVList.collections[i].uid!=undefined)
- {
- var inputResource = globalResourceCalDAVList.collections[i];
- var par=inputResource.uid.split('/');
- if(typeof globalCalendarSelected!='undefined' && globalCalendarSelected!=null && globalCalendarSelected!='')
- {
- globalSettings.calendarselected.value=globalCalendarSelected;
- if((par[par.length-3]+'/'+par[par.length-2]+'/')==globalSettings.calendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if(inputResource.uid==globalSettings.calendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if (typeof globalSettings.calendarselected.value=='object' && inputResource.uid.match(globalSettings.calendarselected.value)!=null)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- }
- }
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0 && $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item[data-id]:visible').length > 0)
- {
- var ui_d = $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item[data-id]:visible').eq(0).attr('data-id');
- var part_u = ui_d.split('/');
- globalSettings.calendarselected.value=part_u[part_u.length-3]+'/'+part_u[part_u.length-2]+'/';
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item[data-id]:visible').eq(0).addClass('resourceCalDAV_item_selected');
- }
- }
- todoString = "TODO";
- if(!globalTodoCollectionsLoading && globalSettingsSaving!='todo')
- {
- $('#ResourceCalDAVTODOList').find('.resourceCalDAV_item_selected').removeClass('resourceCalDAV_item_selected');
- for(var i=0; i<globalResourceCalDAVList.TodoCollections.length;i++)
- if(globalResourceCalDAVList.TodoCollections[i].uid!=undefined)
- {
- var inputResource = globalResourceCalDAVList.TodoCollections[i];
- var par=inputResource.uid.split('/');
-
- if(globalSettings.todocalendarselected.value!='')
- {
- if((par[par.length-3]+'/'+par[par.length-2]+'/')==globalSettings.todocalendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if(inputResource.uid==globalSettings.todocalendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if (typeof globalSettings.todocalendarselected.value=='object' && inputResource.uid.match(globalSettings.todocalendarselected.value)!=null)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- }
- }
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- for(var i=0; i<globalResourceCalDAVList.TodoCollections.length;i++)
- if(globalResourceCalDAVList.TodoCollections[i].uid!=undefined)
- {
- var inputResource = globalResourceCalDAVList.TodoCollections[i];
- var par=inputResource.uid.split('/');
- if(typeof globalTodoCalendarSelected!='undefined' && globalTodoCalendarSelected!=null && globalTodoCalendarSelected!='')
- {
- globalSettings.todocalendarselected.value=globalTodoCalendarSelected;
- if((par[par.length-3]+'/'+par[par.length-2]+'/')==globalSettings.todocalendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if(inputResource.uid==globalSettings.todocalendarselected.value)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- else if (typeof globalSettings.todocalendarselected.value=='object' && inputResource.uid.match(globalSettings.todocalendarselected.value)!=null)
- {
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0)
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item:visible[data-id^="'+inputResource.uid+'"]').addClass('resourceCalDAV_item_selected');
- }
- }
- }
- if($('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAV_item_selected:visible').length == 0 && $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item[data-id]:visible').length > 0)
- {
- var ui_d = $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item[data-id]:visible').eq(0).attr('data-id');
- var part_u = ui_d.split('/');
- globalSettings.todocalendarselected.value=part_u[part_u.length-3]+'/'+part_u[part_u.length-2]+'/';
- $('#ResourceCalDAV'+todoString+'List').find('.resourceCalDAVTODO_item[data-id]:visible').eq(0).addClass('resourceCalDAV_item_selected');
- }
- }
- }
- function hideCalendarEvents(uid)
- {
- $('#SystemCalDavZAP').find('.event_item[data-res-id="'+uid+'"]').each(function(){
- $(this).addClass('checkCalDAV_hide');
- if(this.tagName.toLowerCase()=='tr')
- {
- if($(this).siblings().addBack().not('.checkCalDAV_hide').length>0)
- $(this).parent().prev().find('tr').removeClass('checkCalDAV_hide');
- else
- $(this).parent().prev().find('tr').addClass('checkCalDAV_hide');
- }
- });
- }
- function hideCalendarTodos(uid)
- {
- $('#SystemCalDavTODO').find('.event_item[data-res-id="'+uid+'"]').addClass('checkCalDAV_hide');
- }
- function showCalendarEvents(uid)
- {
- $('#SystemCalDavZAP').find('.event_item[data-res-id="'+uid+'"]').each(function(){
- $(this).removeClass('checkCalDAV_hide');
- if(this.tagName.toLowerCase() == 'tr')
- $(this).parent().prev().find('tr').removeClass('checkCalDAV_hide');
- });
- }
- function showCalendarTodos(uid)
- {
- $('#SystemCalDavTODO').find('.event_item[data-res-id="'+uid+'"]').removeClass('checkCalDAV_hide');
- }
- function hideEventCalendars()
- {
- for(var k=1;k<globalResourceCalDAVList.collections.length;k++)
- {
- var uid=globalResourceCalDAVList.collections[k].uid;
- if(uid!=undefined && globalVisibleCalDAVCollections.indexOf(uid)==-1)
- hideCalendarEvents(uid);
- }
- }
- function hideTodoCalendars()
- {
- for(var k=1;k<globalResourceCalDAVList.TodoCollections.length;k++)
- {
- var uid=globalResourceCalDAVList.TodoCollections[k].uid;
- if(uid!=undefined && globalVisibleCalDAVTODOCollections.indexOf(uid)==-1)
- hideCalendarTodos(uid);
- }
- }
- function rerenderCalendar(scrollChanged)
- {
- if(scrollChanged)
- $('#calendar').fullCalendar('render');
- if(globalSettings.displayhiddenevents.value)
- hideEventCalendars();
- }
- function rerenderTodo(scrollChanged)
- {
- if(scrollChanged)
- $('#todoList').fullCalendar('render');
- if(globalSettings.displayhiddenevents.value)
- hideTodoCalendars();
- }
- function refetchCalendarEvents()
- {
- var beforeScroll = $('#main').width()-$('#calendar').width();
- $('#calendar').fullCalendar('refetchEvents');
- var afterScroll = $('#main').width()-$('#calendar').width();
- rerenderCalendar(beforeScroll!=afterScroll);
- globalCalDAVQs.cache();
- }
- function refetchTodoEvents()
- {
- var beforeScroll = $('#mainTODO').width()-$('#todoList').width();
- $('#todoList').fullCalendar('refetchEvents');
- var afterScroll = $('#mainTODO').width()-$('#todoList').width();
- rerenderTodo(beforeScroll!=afterScroll);
- globalCalDAVTODOQs.cache();
- }
- function initCalDavDatepicker(element)
- {
- var datepickers = element.find('.date');
- datepickers.focus(function(){
- if(!$(this).hasClass('hasDatepicker'))
- {
- $(this).datepicker({
- disabled: $(this).prop('readonly') || $(this).prop('disabled'),
- showMonthAfterYear: false,
- prevText: '',
- nextText: '',
- monthNamesShort: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],
- dateFormat: globalSettings.datepickerformat.value, defaultDate: null, minDate: '-120y', maxDate: '+120y', yearRange: 'c-120:c+120', showAnim: '',
- firstDay: globalSettings.datepickerfirstdayofweek.value,
- weekendDays: globalSettings.weekenddays.value,
- beforeShow: function(input, inst) // set the datepicker value if the date is out of range (min/max)
- {
- inst.dpDiv.addClass('ui-datepicker-simple');
- var valid=true;
- try {var currentDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, $(this).val())}
- catch (e){valid=false}
- if(valid==true && currentDate!=null)
- {
- var minDateText=$(this).datepicker('option', 'dateFormat', globalSettings.datepickerformat.value).datepicker('option', 'minDate');
- var maxDateText=$(this).datepicker('option', 'dateFormat', globalSettings.datepickerformat.value).datepicker('option', 'maxDate');
- var minDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, minDateText);
- var maxDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, maxDateText);
- if(currentDate<minDate)
- $(this).val(minDateText);
- else if(currentDate>maxDate)
- $(this).val(maxDateText);
- }
- // Timepicker hack (prevent IE to re-open the datepicker on date click+focus)
- var index=$(this).attr("data-type");
- var d=new Date();
- if(globalTmpTimePickerHackTime[index]!=undefined && d.getTime()-globalTmpTimePickerHackTime[index]<200)
- return false;
- },
- onClose: function(dateText, inst) // set the datepicker value if the date is out of range (min/max) and reset the value to proper format (for example 'yy-mm-dd' allows '2000-1-1' -> we need to reset the value to '2000-01-01')
- {
- var valid=true;
- try {var currentDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, dateText)}
- catch (e){valid=false}
- if(valid==true && currentDate!=null)
- {
- var minDateText=$(this).datepicker('option', 'dateFormat', globalSettings.datepickerformat.value).datepicker('option', 'minDate');
- var maxDateText=$(this).datepicker('option', 'dateFormat', globalSettings.datepickerformat.value).datepicker('option', 'maxDate');
- var minDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, minDateText);
- var maxDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, maxDateText);
- if(currentDate<minDate)
- $(this).val(minDateText);
- else if(currentDate>maxDate)
- $(this).val(maxDateText);
- else
- $(this).val($.datepicker.formatDate(globalSettings.datepickerformat.value, currentDate));
- }
-
- var index=$(this).attr("data-type");
- var d=new Date();
- globalTmpTimePickerHackTime[index]=d.getTime();
- $(this).focus();
- }
- });
- $(this).mousedown(function(){
- if($(this).datepicker('widget').css('display')=='none')
- $(this).datepicker('show');
- else
- $(this).datepicker('hide');
- });
- $(this).on('keydown', function(event){
-
- if(this.selectionStart!=undefined && this.selectionStart!=-1)
- if(((event.which==38 || event.which==37) && this.selectionStart==0) || ((event.which==40 || event.which==39) && this.selectionStart==$(this).val().length))
- {
- if($(this).datepicker('widget').css('display')=='none')
- $(this).datepicker('show');
- else
- $(this).datepicker('hide');
- }
- });
- $(this).blur(function(event){
-
-
- var valid=true;
- try {var currentDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, $(this).val())}
- catch (e) {valid=false}
- if($(this).val()=='')
- valid=false;
- if(valid==true && $(this).val()!=$.datepicker.formatDate(globalSettings.datepickerformat.value, currentDate))
- {
- var minDateText=$(this).datepicker('option', 'dateFormat', globalSettings.datepickerformat.value).datepicker('option', 'minDate');
- var maxDateText=$(this).datepicker('option', 'dateFormat', globalSettings.datepickerformat.value).datepicker('option', 'maxDate');
- var minDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, minDateText);
- var maxDate=$.datepicker.parseDate(globalSettings.datepickerformat.value, maxDateText);
- if(currentDate<minDate)
- $(this).val(minDateText);
- else if(currentDate>maxDate)
- $(this).val(maxDateText);
- else
- $(this).val($.datepicker.formatDate(globalSettings.datepickerformat.value, currentDate));
- }
- if($(this).attr('id')=='date_from')
- {
- var tmptime = $('#time_from').val();
- var validD=true, prevDate = '';
- if(globalPrevDate!='')
- prevDate = new Date(globalPrevDate.getTime());
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_from').val())}
- catch (e){validD=false}
- if($('#date_from').val()!='' && tmptime.match(globalTimePre)!=null && validD)
- {
- var dateFrom=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_from').val());
- var datetime_to=$.fullCalendar.formatDate(dateFrom, 'yyyy-MM-dd');
- var aDate=new Date(Date.parse("01/02/1990, "+$('#time_from').val()));
- var time_from=$.fullCalendar.formatDate(aDate, 'HH:mm:ss');
- var checkD=$.fullCalendar.parseDate(datetime_to+'T'+time_from);
- globalPrevDate = new Date(checkD.getTime());
- }
- else
- globalPrevDate='';
- if($(this).attr('id')=='date_from' && prevDate!='' && globalPrevDate!='')
- {
- globalPrevDate.setSeconds(0);
- globalPrevDate.setMilliseconds(0);
- prevDate.setSeconds(0);
- prevDate.setMilliseconds(0);
- var diffDate = globalPrevDate.getTime() - prevDate.getTime();
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_to').val())}
- catch (e){validD=false}
- if($('#date_to').val()!='' && $('#time_to').val().match(globalTimePre)!=null && validD)
- {
- var dateTo=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_to').val());
- var datetime_to=$.fullCalendar.formatDate(dateTo, 'yyyy-MM-dd');
- var aDateT=new Date(Date.parse("01/02/1990, "+$('#time_to').val()));
- var time_to=$.fullCalendar.formatDate(aDateT, 'HH:mm:ss');
- var checkDT=$.fullCalendar.parseDate(datetime_to+'T'+time_to);
- var toDate = new Date(checkDT.getTime() + diffDate);
- var formattedDate_to=$.datepicker.formatDate(globalSettings.datepickerformat.value, toDate);
- $('#date_to').val(formattedDate_to);
- $('#time_to').val($.fullCalendar.formatDate(toDate, (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm')));
- }
- }
- }
- else if($('#todo_type').val()=='both' && $(this).attr('id')=='date_fromTODO')
- {
- var tmptime = $('#time_fromTODO').val();
- var validD=true, prevDate = '';
- if(globalPrevDate!='')
- prevDate = new Date(globalPrevDate.getTime());
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_fromTODO').val())}
- catch (e){validD=false}
- if($('#date_fromTODO').val()!='' && tmptime.match(globalTimePre)!=null && validD)
- {
- var dateFrom=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_fromTODO').val());
- var datetime_to=$.fullCalendar.formatDate(dateFrom, 'yyyy-MM-dd');
- var aDate=new Date(Date.parse("01/02/1990, "+$('#time_fromTODO').val()));
- var time_from=$.fullCalendar.formatDate(aDate, 'HH:mm:ss');
- var checkD=$.fullCalendar.parseDate(datetime_to+'T'+time_from);
- globalPrevDate = new Date(checkD.getTime());
- }
- else
- globalPrevDate='';
- if($(this).attr('id')=='date_fromTODO' && prevDate!='' && globalPrevDate!='')
- {
- globalPrevDate.setSeconds(0);
- globalPrevDate.setMilliseconds(0);
- prevDate.setSeconds(0);
- prevDate.setMilliseconds(0);
- var diffDate = globalPrevDate.getTime() - prevDate.getTime();
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_toTODO').val())}
- catch (e){validD=false}
- if($('#date_toTODO').val()!='' && $('#time_toTODO').val().match(globalTimePre)!=null && validD)
- {
- var dateTo=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_toTODO').val());
- var datetime_to=$.fullCalendar.formatDate(dateTo, 'yyyy-MM-dd');
- var aDateT=new Date(Date.parse("01/02/1990, "+$('#time_toTODO').val()));
- var time_to=$.fullCalendar.formatDate(aDateT, 'HH:mm:ss');
- var checkDT=$.fullCalendar.parseDate(datetime_to+'T'+time_to);
- var toDate = new Date(checkDT.getTime() + diffDate);
- var formattedDate_to=$.datepicker.formatDate(globalSettings.datepickerformat.value, toDate);
- $('#date_toTODO').val(formattedDate_to);
- $('#time_toTODO').val($.fullCalendar.formatDate(toDate, (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm')));
- }
- }
- }
- });
- $(this).bind('keyup change', function(){
- if(!$(this).prop('readonly') && !$(this).prop('disabled'))
- {
- var valid=false;
- if($(this).val()!='')
- {
- valid=true;
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $(this).val())}
- catch (e){valid=false}
- }
- if($(this).attr('id')=='completedOnDate')
- {
- if($(this).val()=='')
- {
- if($('#completedOnTime').val()=='')
- {
- valid=true;
- $('#completedOnTime').parent().find('img').css('display', 'none');
- }
- else
- valid=false;
- }
- else
- {
- if(valid)
- {
- if($('#completedOnTime').val()=='')
- $('#completedOnTime').parent().find('img').css('display', 'inline');
- else
- $('#completedOnTime').parent().find('img').css('display', 'none');
- }
- }
- }
- if(valid)
- {
- $(this).parent().find('img').css('display','none');
- if($(this).attr('id')=='date_from' && $('#repeat_end_date').is(':visible'))
- $('#repeat_end_date').keyup();
- if(($(this).attr('id')=='date_fromTODO' || $(this).attr('id')=='date_toTODO') && $('#repeat_end_date_TODO').is(':visible'))
- $('#repeat_end_date_TODO').keyup();
- }
- else
- $(this).parent().find('img').css('display','inline');
- if($(this).attr('id')=='repeat_end_date')
- {
- if(valid && $('#date_from').val()!='')
- {
- $(this).parent().find('img').css('display','inline');
- var today=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_from').val());
- if(today!=null)
- {
- var repeatEnd = $.datepicker.parseDate(globalSettings.datepickerformat.value, $(this).val());
- if(repeatEnd!=null)
- if(repeatEnd>=today)
- $(this).parent().find('img').css('display','none');
- }
- }
- }
- else if(valid && $(this).attr('id')=='repeat_end_date_TODO')
- {
- if($('#date_fromTODO').is(':visible') && $('#date_fromTODO').val()!='')
- {
- $(this).parent().find('img').css('display','inline');
- var today=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_fromTODO').val());
- if(today!=null)
- {
- var repeatEnd = $.datepicker.parseDate(globalSettings.datepickerformat.value, $(this).val());
- if(repeatEnd!=null)
- if(repeatEnd>=today)
- $(this).parent().find('img').css('display','none');
- }
- }
- else if($('#date_toTODO').is(':visible') && $('#date_toTODO').val()!='')
- {
- $(this).parent().find('img').css('display','inline');
- var today=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_toTODO').val());
- if(today!=null)
- {
- var repeatEnd = $.datepicker.parseDate(globalSettings.datepickerformat.value, $(this).val());
- if(repeatEnd!=null)
- if(repeatEnd>=today)
- $(this).parent().find('img').css('display','none');
- }
- }
- }
- }
- });
-
- $(this).datepicker('show');
- }
- });
- }
- function initCalDavTimepicker(element)
- {
- var timepickers = element.find('.time');
- timepickers.focus(function(){
- $(this).autocomplete({
- create: function( event, ui ){
- $(this).data("ui-autocomplete").menu.element.addClass('ui-autocomplete-caldav');
- },
- close: function( event, ui ){
- $(this).keyup();
- },
- source: function(request, response){
- var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), 'i');
- response($.grep(timelist, function(value){
- value = value.label || value.value || value;
- return matcher.test(value) || matcher.test(value.multiReplace(globalSearchTransformAlphabet));
- }));
- },
- minLength: 0
- });
- });
- timepickers.blur(function(){
- var tmptime=$.trim($(this).val());
- if(tmptime.match(globalTimePre)!=null)
- {
- if(tmptime.indexOf(':')==-1)
- {
- if(globalSettings.ampmformat.value)
- {
- if(tmptime.indexOf(' ')==-1)
- tmptime=tmptime.substring(0,2)+':'+tmptime.substring(2,4)+' '+tmptime.substring(4,6);
- else tmptime=tmptime.substring(0,2)+':'+tmptime.substring(2,4)+' '+tmptime.substring(5,7);
- }
- else tmptime=tmptime.substring(0,2)+':'+tmptime.substring(2,4);
- }
- else
- {
- if(globalSettings.ampmformat.value)
- {
- var partA=tmptime.split(':')[0];
- partA=parseInt(partA,10);
- var partB=tmptime.split(':')[1].substring(0,tmptime.split(':')[1].length-2);
- partB=parseInt(partB,10);
- tmptime=(partA < 10 ? '0' : '')+partA+':'+(partB < 10 ? '0' : '')+partB+' '+tmptime.split(':')[1].substring(tmptime.split(':')[1].length-2, tmptime.split(':')[1].length);
- }
- else
- {
- var partA=tmptime.split(':')[0];
- partA=parseInt(partA,10);
- var partB=tmptime.split(':')[1];
- partB=parseInt(partB,10);
- tmptime=(partA<10 ? '0' : '')+partA+':'+(partB<10 ? '0' : '')+partB;
- }
- }
- if(tmptime.length==7)
- tmptime=tmptime.substring(0,5)+' '+tmptime.substring(5,7);
- else if(tmptime.length==6 && tmptime.indexOf(':')!=-1)
- tmptime=tmptime.substring(0,2)+':'+tmptime.substring(2,4)+' '+tmptime.substring(4,6);
- $(this).val(tmptime.toUpperCase());
- }
- if($(this).attr('id')=='time_from')
- {
- var validD=true, prevDate = '';
- if(globalPrevDate!='')
- prevDate = new Date(globalPrevDate.getTime());
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_from').val())}
- catch (e){validD=false}
- if(tmptime.match(globalTimePre)!=null && validD)
- {
- var dateFrom=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_from').val());
- var datetime_to=$.fullCalendar.formatDate(dateFrom, 'yyyy-MM-dd');
- var aDate=new Date(Date.parse("01/02/1990, "+$('#time_from').val()));
- var time_from=$.fullCalendar.formatDate(aDate, 'HH:mm:ss');
- var checkD=$.fullCalendar.parseDate(datetime_to+'T'+time_from);
- globalPrevDate = new Date(checkD.getTime());
- }
- else
- globalPrevDate='';
- if($(this).attr('id')=='time_from' && prevDate!='' && globalPrevDate!='')
- {
- globalPrevDate.setSeconds(0);
- globalPrevDate.setMilliseconds(0);
- prevDate.setSeconds(0);
- prevDate.setMilliseconds(0);
- var diffDate = globalPrevDate.getTime() - prevDate.getTime();
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_to').val())}
- catch (e){validD=false}
- if($('#date_to').val()!='' && $('#time_to').val().match(globalTimePre)!=null && validD)
- {
- var dateTo=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_to').val());
- var datetime_to=$.fullCalendar.formatDate(dateTo, 'yyyy-MM-dd');
- var aDateT=new Date(Date.parse("01/02/1990, "+$('#time_to').val()));
- var time_to=$.fullCalendar.formatDate(aDateT, 'HH:mm:ss');
- var checkDT=$.fullCalendar.parseDate(datetime_to+'T'+time_to);
- var toDate = new Date(checkDT.getTime() + diffDate);
- var formattedDate_to=$.datepicker.formatDate(globalSettings.datepickerformat.value, toDate);
- $('#date_to').val(formattedDate_to);
- $('#time_to').val($.fullCalendar.formatDate(toDate, (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm')));
- }
- }
- }
- else if($('#todo_type').val()=='both' && $(this).attr('id')=='time_fromTODO')
- {
- var validD=true, prevDate = '';
- if(globalPrevDate!='')
- prevDate = new Date(globalPrevDate.getTime());
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_fromTODO').val())}
- catch (e){validD=false}
- if(tmptime.match(globalTimePre)!=null && validD)
- {
- var dateFrom=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_fromTODO').val());
- var datetime_to=$.fullCalendar.formatDate(dateFrom, 'yyyy-MM-dd');
- var aDate=new Date(Date.parse("01/02/1990, "+$('#time_fromTODO').val()));
- var time_from=$.fullCalendar.formatDate(aDate, 'HH:mm:ss');
- var checkD=$.fullCalendar.parseDate(datetime_to+'T'+time_from);
- globalPrevDate = new Date(checkD.getTime());
- }
- else
- globalPrevDate='';
- if($(this).attr('id')=='time_fromTODO' && prevDate!='' && globalPrevDate!='')
- {
- globalPrevDate.setSeconds(0);
- globalPrevDate.setMilliseconds(0);
- prevDate.setSeconds(0);
- prevDate.setMilliseconds(0);
- var diffDate = globalPrevDate.getTime() - prevDate.getTime();
- try {$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_toTODO').val())}
- catch (e){validD=false}
- if($('#date_toTODO').val()!='' && $('#time_toTODO').val().match(globalTimePre)!=null && validD)
- {
- var dateTo=$.datepicker.parseDate(globalSettings.datepickerformat.value, $('#date_toTODO').val());
- var datetime_to=$.fullCalendar.formatDate(dateTo, 'yyyy-MM-dd');
- var aDateT=new Date(Date.parse("01/02/1990, "+$('#time_toTODO').val()));
- var time_to=$.fullCalendar.formatDate(aDateT, 'HH:mm:ss');
- var checkDT=$.fullCalendar.parseDate(datetime_to+'T'+time_to);
- var toDate = new Date(checkDT.getTime() + diffDate);
- var formattedDate_to=$.datepicker.formatDate(globalSettings.datepickerformat.value, toDate);
- $('#date_toTODO').val(formattedDate_to);
- $('#time_toTODO').val($.fullCalendar.formatDate(toDate, (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm')));
- }
- }
- }
- });
- timepickers.bind('keyup change', function(){
- var tmptime=$.trim($(this).val());
-
- if($(this).attr('id')!='completedOnTime')
- {
- if(tmptime.match(globalTimePre)==null)
- $(this).parent().find('img').css('display', 'inline');
- else
- $(this).parent().find('img').css('display', 'none');
- }
- else
- {
- if($(this).val()=='')
- {
- if($('#completedOnDate').val()=='')
- {
- $(this).parent().find('img').css('display', 'none');
- $('#completedOnDate').parent().find('img').css('display', 'none');
- }
- else
- $(this).parent().find('img').css('display', 'inline');
- }
- else
- {
- if(tmptime.match(globalTimePre)==null)
- $(this).parent().find('img').css('display', 'inline');
- else
- {
- $(this).parent().find('img').css('display', 'none');
- if($('#completedOnDate').val()=='')
- $('#completedOnDate').parent().find('img').css('display', 'inline');
- else
- $('#completedOnDate').parent().find('img').css('display', 'none');
- }
- }
- }
- });
- timepickers.dblclick(function(){
- if($(this).val()!='')
- return false;
- var now=new Date();
- var todoString='';
- if($(this).attr('id')!=undefined)
- if($(this).attr('id').indexOf('TODO')!=-1)
- todoString='TODO';
- if($(this).attr('id')=='time_to' || (($(this).attr('id')=='time_toTODO')&&($('.dateTrFromTODO').css('display')!='none')))
- {
- var testString=$(this).val();
- if(($('#time_from'+todoString).parent().find('img').css('display')=='none') && ($('#date_from'+todoString).parent().find('img').css('display')=='none')
- && ($('#date_to'+todoString).parent().find('img').css('display')=='none'))
- {
- var inputDate=$.datepicker.parseDate(globalSettings.datepickerformat.value,$('#date_from'+todoString).val());
- var formatString=inputDate.getFullYear()+'/'+(inputDate.getMonth()<10 ? '0' : '')+(inputDate.getMonth()+1)+'/'+(inputDate.getDate()<10 ? '0' : '')+inputDate.getDate();
- var timeDate=new Date(Date.parse(formatString+", "+$('#time_from'+todoString).val()));
- now=new Date(timeDate.getTime());
- var inputDate2=$.datepicker.parseDate(globalSettings.datepickerformat.value,$('#date_to'+todoString).val())
- var formatString2=inputDate2.getFullYear()+'/'+(inputDate2.getMonth()<10 ? '0' : '')+(inputDate2.getMonth()+1)+'/'+(inputDate2.getDate()<10 ? '0' : '')+inputDate2.getDate();
- var timeDateFrom=new Date(Date.parse(formatString2+", "+$('#time_from'+todoString).val()));
- if(formatString==formatString2)
- {
- now.setHours(now.getHours()+1);
- var newTestValue = new Date(Date.parse(formatString2+", "+$.fullCalendar.formatDate(now, (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm'))));
- if(newTestValue < timeDateFrom)
- {
- newTestValue.setHours(23);
- newTestValue.setMinutes(59);
- now = new Date(newTestValue.getTime());
- }
- }
- }
- }
- if($(this).attr('id')=='time_from' || $(this).attr('id')=='time_fromTODO')
- {
- if(globalPrevDate!='')
- {
- globalPrevDate.setHours(now.getHours());
- globalPrevDate.setMinutes(now.getMinutes());
- }
- }
- $(this).val($.fullCalendar.formatDate(now, (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm')));
- $(this).keyup();
- });
- }
- function duplicateEvent(todoSel)
- {
- if(todoSel=='TODO')
- {
- startEditModeTodo();
- $('#showTODO').val('');
- $('#uidTODO').val('');
- $('#vcalendarHashTODO').val('');
- $('#vcalendarUIDTODO').val('');
- $('#etagTODO').val('');
- $('#todoInEdit').val('true');
- $('#deleteTODO').hide();
- $('#resetTODO').hide();
- $('#editTODO').hide();
- $('#duplicateTODO').hide();
- $('#editOptionsButtonTODO').hide();
- }
- else
- {
- startEditModeEvent();
- $('#uid').val('');
- $('#show').val('');
- $('#etag').val('');
- $('#vcalendarHash').val('');
- $('#vcalendarUID').val('');
- $('#editButton').hide();
- $('#duplicateButton').hide();
- $('#editOptionsButton').hide();
- $('#resetButton').hide();
- $('#deleteButton').hide();
- }
- }
- function showNewEvent(todoSel)
- {
- if($('#ResourceCalDAV'+todoSel+'List .resourceCalDAV'+todoSel+'_item:visible').not('.resourceCalDAV_item_ro').length==0)
- return false;
- $('#timezonePicker'+todoSel).prop('disabled', true);
- if(todoSel=='TODO')
- {
- $('#TodoDisabler').fadeIn(globalEditorFadeAnimation);
- showTodoForm(null, 'new');
- $('#nameTODO').focus();
- }
- else
- {
- $('#show').val('');
- $('#CAEvent').hide();
- $('#EventDisabler').fadeIn(globalEditorFadeAnimation, function(){
- showEventForm(new Date(), true, null, null, 'new', '');
- $('#name').focus();
- });
- }
- }
- function showEventPopup(e, event)
- {
- var from;
- var to;
- var status;
- var avail;
- var classType;
- var priority;
- var resource = globalResourceCalDAVList.getCollectionByUID(event.res_id);
- if(event.allDay)
- {
- from = $.fullCalendar.formatDate(event.realStart, dateFormatJqToFc(globalSettings.datepickerformat.value));
- to = $.fullCalendar.formatDate(event.realEnd, dateFormatJqToFc(globalSettings.datepickerformat.value));
- }
- else
- {
- from = $.fullCalendar.formatDate(event.realStart, dateFormatJqToFc(globalSettings.datepickerformat.value) + '\' \'' + (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm'));
- to = $.fullCalendar.formatDate(event.realEnd, dateFormatJqToFc(globalSettings.datepickerformat.value) + '\' \'' + (globalSettings.ampmformat.value ? 'hh:mm TT' : 'HH:mm'));
- }
- switch(event.status){
- case 'NONE':
- status = localization[globalInterfaceLanguage].txtStatusNone;
- break;
- case 'TENTATIVE':
- status = localization[globalInterfaceLanguage].txtStatusTentative;
- break;
- case 'CONFIRMED':
- status = localization[globalInterfaceLanguage].txtStatusConfirmed;
- break;
- case 'CANCELLED':
- status = localization[globalInterfaceLanguage].txtStatusCancelled;
- break;
- default:
- status = localization[globalInterfaceLanguage].txtStatusNone;
- break;
- }
- switch(event.avail){
- case 'OPAQUE':
- avail = localization[globalInterfaceLanguage].eventAvailabilityBusy;
- break;
- case 'TRANSPARENT':
- avail = localization[globalInterfaceLanguage].eventAvailabilityFree;
- break;
- default:
- avail = localization[globalInterfaceLanguage].eventAvailabilityFree;
- break;
- }
- switch(event.classType){
- case 'PUBLIC':
- classType = localization[globalInterfaceLanguage].eventTypePublic;
- break;
- case 'CONFIDENTIAL':
- classType = localization[globalInterfaceLanguage].eventTypeConfidential;
- break;
- case 'PRIVATE':
- classType = localization[globalInterfaceLanguage].eventTypePrivate;
- break;
- default:
- classType = localization[globalInterfaceLanguage].eventTypePublic;
- break;
- }
- var prior = parseInt(event.priority,10);
- if(prior==5)
- priority = localization[globalInterfaceLanguage].txtPriorityMedium;
- else if(prior>5 && prior<10)
- priority = localization[globalInterfaceLanguage].txtPriorityLow;
- else if(prior<5 && prior>0)
- priority = localization[globalInterfaceLanguage].txtPriorityHigh;
- else
- priority = localization[globalInterfaceLanguage].txtPriorityNone;
-
- var maxPreviewTextLength=512;
- if(event.title=='')
- $('#CalDavZAPPopup').find('[data-type="name"]').parent().css('display','none');
- else
- $('#CalDavZAPPopup').find('[data-type="name"]').text((event.title.length>maxPreviewTextLength ? event.title.substr(0, maxPreviewTextLength-4)+' ...' : event.title)).parent().css('display','');
- if(event.location=='')
- $('#CalDavZAPPopup').find('[data-type="location"]').parent().css('display','none');
- else
- $('#CalDavZAPPopup').find('[data-type="location"]').text(event.location).parent().css('display','');
- if(event.hrefUrl=='')
- $('#CalDavZAPPopup').find('[data-type="url"]').parent().css('display','none');
- else
- $('#CalDavZAPPopup').find('[data-type="url"]').text(event.hrefUrl).parent().css('display','');
- if(event.note=='')
- $('#CalDavZAPPopup').find('[data-type="note"]').parent().css('display','none');
- else
- $('#CalDavZAPPopup').find('[data-type="note"]').text((event.note.length>maxPreviewTextLength ? event.note.substr(0, maxPreviewTextLength-4)+' ...' : event.note)).parent().css('display','');
- $('#CalDavZAPPopup').find('[data-type="from"]').html(from);
- $('#CalDavZAPPopup').find('[data-type="to"]').html(to);
- $('#CalDavZAPPopup').find('[data-type="status"]').text(status);
- $('#CalDavZAPPopup').find('[data-type="avail"]').text(avail);
- $('#CalDavZAPPopup').find('[data-type="type"]').text(classType);
- $('#CalDavZAPPopup').find('[data-type="priority"]').text(priority);
- $('#CalDavZAPPopup').find('[data-type="calendar"]').text(resource.displayvalue);
- $('#CalDavZAPPopup').css({'opacity':0,'display':'block','top':0,'left':0});
- $('#CalDavZAPPopupColor').css('height',0);
- $('#CalDavZAPPopup').css('top', Math.max(e.pageY-$('#CalDavZAPPopup').outerHeight()-10, 30));
- $('#CalDavZAPPopup').css('left', Math.max(Math.min(e.pageX, $(window).width()-$('#CalDavZAPPopup').outerWidth()-50)+20, 30));
- $('#CalDavZAPPopupColor').css({'background-color':resource.ecolor, 'height':$('#CalDavZAPPopup').height()});
- $('#CalDavZAPPopup').animate({'opacity':1}, 100);
- }
- function moveEventPopup(e)
- {
- $('#CalDavZAPPopup').css('top', Math.max(e.pageY-$('#CalDavZAPPopup').outerHeight()-10, 30));
- $('#CalDavZAPPopup').css('left', Math.max(Math.min(e.pageX, $(window).width()-$('#CalDavZAPPopup').outerWidth()-50)+20, 30));
- }
- function hideEventPopup()
- {
- $('#CalDavZAPPopup').css('display', 'none');
- }
|