function centerTimeline(date){tl.getBand(0).setCenterVisibleDate(SimileAjax.DateTime.parseIso8601DateTime(date));}function setupFilterHighlightControls(div,timeline,bandIndices,theme){var table=document.createElement("table");var tr=table.insertRow(0);var td=tr.insertCell(0);td.innerHTML="Filter:";td=tr.insertCell(1);td.innerHTML="Highlight:";var handler=function(elmt,evt,target){onKeyPress(timeline,bandIndices,table);};tr=table.insertRow(1);tr.style.verticalAlign="top";td=tr.insertCell(0);var input=document.createElement("input");input.type="text";SimileAjax.DOM.registerEvent(input,"keypress",handler);td.appendChild(input);for(var i=0;i<3;i++){td=tr.insertCell(i+1);input=document.createElement("input");input.type="text";SimileAjax.DOM.registerEvent(input,"keypress",handler);td.appendChild(input);var divColor=document.createElement("div");divColor.style.height="0.5em";divColor.style.background=theme.event.highlightColors[i];td.appendChild(divColor);}td=tr.insertCell(tr.cells.length);var button=document.createElement("button");button.innerHTML="Clear All";SimileAjax.DOM.registerEvent(button,"click",function(){clearAll(timeline,bandIndices,table);});td.appendChild(button);div.appendChild(table);}var timerID=null;function onKeyPress(timeline,bandIndices,table){if(timerID!=null){window.clearTimeout(timerID);}timerID=window.setTimeout(function(){performFiltering(timeline,bandIndices,table);},300);}function cleanString(s){return s.replace(/^\s+/,'').replace(/\s+$/,'');}function performFiltering(timeline,bandIndices,table){timerID=null;var tr=table.rows[1];var text=cleanString(tr.cells[0].firstChild.value);var filterMatcher=null;if(text.length>0){var regex=new RegExp(text,"i");filterMatcher=function(evt){return regex.test(evt.getText())||regex.test(evt.getDescription());};}var regexes=[];var hasHighlights=false;for(var x=1;x<tr.cells.length-1;x++){var input=tr.cells[x].firstChild;var text2=cleanString(input.value);if(text2.length>0){hasHighlights=true;regexes.push(new RegExp(text2,"i"));}else{regexes.push(null);}}var highlightMatcher=hasHighlights?function(evt){var text=evt.getText();var description=evt.getDescription();for(var x=0;x<regexes.length;x++){var regex=regexes[x];if(regex!=null&&(regex.test(text)||regex.test(description))){return x;}}return -1;}:null;for(var i=0;i<bandIndices.length;i++){var bandIndex=bandIndices[i];timeline.getBand(bandIndex).getEventPainter().setFilterMatcher(filterMatcher);timeline.getBand(bandIndex).getEventPainter().setHighlightMatcher(highlightMatcher);}timeline.paint();}function clearAll(timeline,bandIndices,table){var tr=table.rows[1];for(var x=0;x<tr.cells.length-1;x++){tr.cells[x].firstChild.value="";}for(var i=0;i<bandIndices.length;i++){var bandIndex=bandIndices[i];timeline.getBand(bandIndex).getEventPainter().setFilterMatcher(null);timeline.getBand(bandIndex).getEventPainter().setHighlightMatcher(null);}timeline.paint();}var tl;function onLoad(){var browserName=navigator.appName;var eventSource=new Timeline.DefaultEventSource();var theme=Timeline.ClassicTheme.create();theme.event.label.width=320;theme.event.bubble.width=520;theme.event.bubble.height=550;theme.ether.backgroundColors=["#D8CAA8","#284907","#363942","#D0D0E8"];if(browserName=="Microsoft Internet Explorer"){var bandInfos=[Timeline.createBandInfo({timeZone:-8,trackHeight:3.0,trackGap:0.2,eventSource:eventSource,width:"90%",intervalUnit:Timeline.DateTime.DAY,theme:theme,intervalPixels:300}),Timeline.createBandInfo({timeZone:-8,trackHeight:0.2,showEventText:false,trackGap:0.1,width:"10%",intervalUnit:Timeline.DateTime.YEAR,theme:theme,overview:true,intervalPixels:250})];}else{var bandInfos=[Timeline.createBandInfo({timeZone:-8,trackHeight:3.0,trackGap:0.2,eventSource:eventSource,width:"90%",intervalUnit:Timeline.DateTime.DAY,theme:theme,intervalPixels:300}),Timeline.createBandInfo({timeZone:-8,trackHeight:0.2,showEventText:false,trackGap:0.1,eventSource:eventSource,width:"10%",intervalUnit:Timeline.DateTime.YEAR,theme:theme,overview:true,intervalPixels:250})];}bandInfos[1].syncWith=0;bandInfos[1].highlight=true;tl=Timeline.create(document.getElementById("my-timelineBeta"),bandInfos);tl.loadXML("/timeline_data/timeline_parserBeta.php",function(xml,url){eventSource.loadXML(xml,url);});setupFilterHighlightControls(document.getElementById("timeline_controls"),tl,[0,1],theme);}var resizeTimerID=null;function onResize(){if(resizeTimerID==null){resizeTimerID=window.setTimeout(function(){resizeTimerID=null;tl.layout();},500);}}
