/*************************** econtioTimeline.js *******************************
**** Version 1.03.0001
**** last changed 15.04.2009
**** (c) 2007/2008 Bernd Rudolf, econtio GmbH, www.econtio.de
******************************************************************************/
function objEvent(j,f,b,e,a,g,c,d){this.id=j;this.idFolie=f;this.tc=b;this.type=e;this.x=a;this.y=g;this.w=c;this.h=d;}function econtioTimeLine(b,a,c){this.name=b;this.version="1.02.0001";this.interval=null;this.playState=0;this.sTime=500;this.intervalTime=this.sTime;this.tc="00:00:00:00";this.bTCJump=false;this.tcJumpTo=null;this.bSkipEvent=false;if(!c){this.debugElement=a.newSubElement("debugTimeline","Timeline: "+b);}else{this.debugElement=c;}this.ePlayer=null;this.oEventList=new Array();this.timeTotal=null;this.timeElapsed=null;this.init=function(){this.currUTCSec=null;this.currSec=0;this.h=0;this.m=0;this.s=0;this.f=0;this.eventCounter=0;};this.play=function(){this.intervalTime=window.setTimeout(this.getTC.bind(this),this.sTime);};this.pause=function(){window.clearTimeout(this.intervalTime);};this.findNextEvent=function(e){e=parseInt(e);e=e||0;var d=this.eventCounter+e;if(d<this.oEventList.length){return this.oEventList[d].tc;}else{return false;}};this.findLastEvent=function(e){e=parseInt(e);e=e||-2;var d=this.eventCounter+e;if(d>=0&&!!this.oEventList[d]){return this.oEventList[d].tc;}else{return false;}};this.getTC=function(){if(!this.ePlayer||(this.ePlayer&&!this.ePlayer.bBuffering)){this.now=new Date();if(this.currSec!=this.now.getUTCSeconds()){this.currSec=this.now.getUTCSeconds();this.s++;if(this.s>59){this.s=0;this.m++;if(this.m>59){this.m=0;this.h++;}}this.tc=makeTC(this.h,this.m,this.s);if(this.timeElapsed){this.debugprint(this.timeElapsed,this.tc.substr(0,8));}this.checkEvent(this.tc);}}else{this.debuglog("buffering...");}if(this.eventCounter<this.oEventList.length){this.intervalTime=window.setTimeout(this.getTC.bind(this),this.sTime);}else{this.onEnd();}};this.debuglog=function(e){var d=this.debugElement.getElementById("debuglog");d.innerHTML=e+"<br/>"+d.innerHTML;};this.debugprint=function(e,f){var d=e;if(typeof(e)=="string"&&this.debugElement){e=this.debugElement.getElementById(e);}if(typeof(e)=="object"){e.innerHTML=f;}else{window.status=">>Timeline debugprint: "+e+"/"+d+" not found!";}};this.slideEvent=function(d){if(typeof(sPlayer)!="undefined"&&sPlayer.playState==3){sPlayer.stop();}currentSlide=(!d?this.oEventList[this.eventCounter].x:d);this.debugprint("currentSlide",currentSlide);currentSlideID=this.oEventList[this.eventCounter].id;currentSlidePos=this.eventCounter;setSlide();};this.checkEvent=function(d){if(this.bTCJump&&this.oEventList.length>0){this.bTCJump=false;this.debuglog("evaluating next event for "+this.TCJumpTo);var f=0;while(f<this.oEventList.length&&(this.oEventList[f].tc<this.TCJumpTo)){f++;}if(this.bSkipEvent){f++;this.bSkipEvent=false;}this.eventCounter=f;this.TCJumpTo=null;this.debuglog("next event: "+this.eventCounter+"@"+((f==0||f==this.oEventList.length)?"--":this.oEventList[f].tc));}if(this.oEventList.length>0&&this.eventCounter<this.oEventList.length&&d>=this.oEventList[this.eventCounter].tc){switch(this.oEventList[this.eventCounter].type%1000){case 1:this.slideEvent();break;case 2:currentEBCount++;var e=this.oEventList[this.eventCounter].x+"_"+this.oEventList[this.eventCounter].y;this.debugprint("currentSlide",e);document.getElementById(slideElement).src=c_strPath+"inhalte/"+strVortrag+"/folien/folie"+e+".gif";break;case 3:showpointer(oEventList[this.eventCounter].x,oEventList[this.eventCounter].y);break;case 11:this.ePlayer.URL(this.oEventList[this.eventCounter].x);break;case 12:break;case 13:break;case 21:break;case 99:this.oEventList[this.eventCounter].x();break;}if(this.oEventList[this.eventCounter].type<1000){this.eventCounter++;}else{this.oEventList.remove(this.eventCounter,1);console.dir(this.oEventList);}this.debugprint("eventCounter",this.eventCounter);}};this.onEnd=function(){this.debuglog("Ende");};}function addTC(e,c){var f=e.split(":");f[2]=parseFloat(f[2],10);f[1]=parseFloat(f[1],10);f[0]=parseFloat(f[0],10);var d=c.split(":");d[2]=parseFloat(d[2],10);d[1]=parseFloat(d[1],10);d[0]=parseFloat(d[0],10);var a=new Array();for(var b=0;b<3;b++){a[b]=0;}for(var b=2;b>=0;b--){a[b]=a[b]+f[b]+d[b];if(a[b]>=60){a[b-1]=1;a[b]-=60;}}return makeTC(a[0],a[1],a[2]);}function subTC(e,c){var f=e.split(":");f[2]=parseFloat(f[2],10);f[1]=parseFloat(f[1],10);f[0]=parseFloat(f[0],10);var d=c.split(":");d[2]=parseFloat(d[2],10);d[1]=parseFloat(d[1],10);d[0]=parseFloat(d[0],10);var a=new Array();for(var b=0;b<3;b++){a[b]=0;}for(var b=2;b>=0;b--){a[b]=a[b]+f[b]-d[b];if(a[b]<0){a[b-1]=-1;a[b]+=60;}}return makeTC(a[0],a[1],a[2]);}function shiftTC(b,c){var a=b.split(":");a[2]=parseFloat(a[2],10)+c;a[1]=parseFloat(a[1],10);a[0]=parseFloat(a[0],10);for(i=2;i>0;i--){while(a[i]>59){a[i]=a[i]-60;a[i-1]=a[i-1]+1;}while(a[i]<0){a[i]=a[i]+60;a[i-1]=a[i-1]-1;}}if(a[0]<0){return"00:00:00:00";}else{return makeTC(a[0],a[1],a[2]);}}function makeTC(c,a,b,d){c="0"+c;a="0"+a;b="0"+b;d="0"+(!d?"0":d);c=c.substr(c.length-2,2);a=a.substr(a.length-2,2);b=b.substr(b.length-2,2);d=d.substr(d.length-2,2);return(c+":"+a+":"+b+":"+d);}
