var poiToScene=[];
function geMovieScene(_1,_2,_3,_4,_5){
var _6=_3;
var _7=_4;
var _8=_2;
var _9=_1;
var _a=0;
var _b=[];
var _c;
var _d;
var _e;
var _f;
var _10;
var _11;
var _12;
var _13;
var _14;
var _15;
var _16;
var _17;
var _18=false;
var _19=0;
var _1a=false;
var _1b=false;
var _1c=new LoadingModelsTrans();
this.getNextShot=function(){
var _1d=false;
if(_a==0&&_17=="1"){
if(typeof (poiToScene[_10])!="number"&&poiToScene[_10]!=undefined){
poiToScene[_10].setVisibility(true);
}
}
if(!_1b){
_1d=_1c;
_7.loadingVisible(true);
}else{
if(_a<_b.length){
_7.loadingVisible(false);
_1d=_b[parseInt(_a)];
_7.setTransUI(_e,_1d,_a,_b.length);
medList=_b[parseInt(_a)].getMedia();
_a++;
if(medList!=undefined){
if(medList.length>0){
_7.setMediaDatastore(medList);
}else{
snConsole.debug("Hello");
}
}else{
snConsole.debug("Hello");
}
}else{
if(_17=="1"){
if(typeof (poiToScene[_10])!="number"&&poiToScene[_10]!=undefined){
poiToScene[_10].setVisibility(false);
}
}
_1d=false;
}
}
return _1d;
};
this.markAsLastScene=function(){
_1a=true;
};
this.getFirstTrans=function(){
if(_b.length>0){
return _b[0];
}else{
return false;
}
};
this.incTrans=function(){
if(this.hasNextTransition){
_a++;
return true;
}else{
return false;
}
};
this.decTrans=function(){
if(_a>0){
_a--;
return true;
}else{
return false;
}
};
this.resetTrans=function(){
var _1e=_b[parseInt(_a)];
_a=0;
if(_1e!=undefined){
_1e.resetTransition();
}
return true;
};
this.init=function(){
_c=new transitionFactory();
if(!_5){
this.ajaxGetScene(_9);
}else{
this.sceneList(_5);
}
};
this.hasNextTransition=function(){
var _1f=false;
if(_a<(_b.length-1)){
_1f=true;
}
return _1f;
};
this.transitionIndexIsZero=function(){
if(_a==0){
return true;
}else{
return false;
}
};
this.notify=function(_20){
if(_20==_10){
_1b=true;
_1c.stop();
}
};
this.ajaxGetScene=function(id){
_6.getSceneList(id,this);
};
this.callbackSceneList=function(_22){
var _23=dojo.fromJson(_22);
if(_23.status=="success"){
aktScene=_23.data;
}else{
snConsole.debug("Server returned error","callbackSceneList");
return;
}
aktScene=aktScene[0];
_d=aktScene;
_d.uid=_9;
if(aktScene.name!=undefined){
_e=aktScene.name;
}
if(aktScene.description!=undefined){
_11=aktScene.description;
}
if(aktScene.image!=undefined){
_12=aktScene.image;
}
if(aktScene.kml!=undefined){
_f=aktScene.kml;
}
if(aktScene.kmlid!=undefined){
_10=aktScene.kmlid;
}else{
_1b=true;
}
if(aktScene.duration!=undefined){
_14=aktScene.duration;
}
if(aktScene.audio!=undefined){
_13=aktScene.audio;
}
if(aktScene.autostartMedium!=undefined){
_15=aktScene.autostartMedium[0];
}
if(aktScene.imageMedium!=undefined){
_16=aktScene.imageMedium[0];
}
if(aktScene.poivi!=undefined){
_17=aktScene.poivi;
}
var _24=0;
for(var i=0;i<aktScene.cvlist.length;i++){
if(_18){
if(_19==0){
var _26=_c.getTransition("ge",aktScene.cvlist[i]);
_19=1;
}else{
if(_19==1){
var _26=_c.getTransition("flyto",aktScene.cvlist[i]);
_19=2;
}else{
var _26=_c.getTransition("blackCut",aktScene.cvlist[i]);
_19=0;
}
}
}else{
var _26=_c.getTransition(aktScene.cvlist[i].transition,aktScene.cvlist[i]);
}
_24=_24+parseFloat(_26.getDuration());
_b[i]=_26;
_26=null;
}
timingFactor=parseFloat(_14)/_24;
var _27=1;
for(var j=0;j<_b.length;j++){
_27=_b[j].getDuration()*timingFactor;
_b[j].setDuration(_27);
if(_b[j].getType()=="flyTo"){
var _29=parseFloat(_b[j].getTransparam())*timingFactor;
_b[j].getTransparam(_29);
}
}
};
this.sceneList=function(_2a){
aktScene=_2a;
_d=aktScene;
_d.uid=_9;
if(aktScene.name!=undefined){
_e=aktScene.name;
}
if(aktScene.description!=undefined){
_11=aktScene.description;
}
if(aktScene.image!=undefined){
_12=aktScene.image;
}
if(aktScene.kml!=undefined){
_f=aktScene.kml;
}
if(aktScene.kmlid!=undefined){
_10=aktScene.kmlid;
}else{
_1b=true;
}
if(aktScene.duration!=undefined){
_14=aktScene.duration;
}
if(aktScene.audio!=undefined){
_13=aktScene.audio;
}
if(aktScene.autostartMedium!=undefined){
_15=aktScene.autostartMedium[0];
}
if(aktScene.imageMedium!=undefined){
_16=aktScene.imageMedium[0];
}
if(aktScene.poivi!=undefined){
_17=aktScene.poivi;
}
var _2b=0;
for(var i=0;i<aktScene.cvlist.length;i++){
if(_18){
if(_19==0){
var _2d=_c.getTransition("ge",aktScene.cvlist[i]);
_19=1;
}else{
if(_19==1){
var _2d=_c.getTransition("flyto",aktScene.cvlist[i]);
_19=2;
}else{
var _2d=_c.getTransition("blackCut",aktScene.cvlist[i]);
_19=0;
}
}
}else{
var _2d=_c.getTransition(aktScene.cvlist[i].transition,aktScene.cvlist[i]);
}
_2b=_2b+parseFloat(_2d.getDuration());
_b[i]=_2d;
_2d=null;
}
timingFactor=parseFloat(_14)/_2b;
var _2e=1;
for(var j=0;j<_b.length;j++){
_2e=_b[j].getDuration()*timingFactor;
_b[j].setDuration(_2e);
if(_b[j].getType()=="flyTo"){
var _30=parseFloat(_b[j].getTransparam())*timingFactor;
_b[j].getTransparam(_30);
}
}
};
this.getAutostart=function(){
return _15;
};
this.getDescription=function(){
return _11;
};
this.getImage=function(){
return _12;
};
this.getSceneData=function(){
return _d;
};
this.getTransIndex=function(){
return _a;
};
this.getTransSize=function(){
return _b.length;
};
this.getName=function(){
return _e;
};
this.getPoiVisibility=function(){
return _17;
};
this.unloadAktTransition=function(){
if(_17=="1"){
if(typeof (poiToScene[_10])!="number"&&poiToScene[_10]!=undefined){
poiToScene[_10].setVisibility(false);
}
}
try{
if(_b[_a-1]!=undefined){
_b[_a-1].unload();
}
}
catch(e){
snConsole.debug("unloadAktTransition: "+e);
}
};
this.init();
};
function geTourMovie(uid,_32,_33,_34,_35){
var _36=_32;
var _37=_33;
var _38=_34;
var me=this;
var uid=uid;
var key=_35;
var _3b=0;
var _3c=[];
var _3d=[];
var _3e=false;
var _3f=-1;
var _40=new LoadingPipe();
var _41=false;
var _42="Movie";
var _43="";
var _44="";
var _45="";
var _46="";
var _47;
var _48;
var _49;
var _4a;
var _4b;
var _4c;
var _4d=0;
this.ajaxGetMovie=function(id,key){
if(_data!=undefined){
this.callbackMovie(_data);
}else{
if(typeof (id)=="object"){
try{
if(id.length){
hrs=new Array();
for(i=0;i<id.length;i++){
hrs.push(id[i]);
}
}
}
catch(e){
_36.getMovieList(id,key,this);
}
_36.getHrsMovie(hrs,this);
}else{
_36.getMovieList(id,key,this);
}
}
};
this.callbackMovie=function(_50){
var _51=_50;
if(_51.status==undefined){
_51=dojo.fromJson(_51);
}
if(_51.status=="failure"){
if(_51.errors[0]=="Requested Movie does not exist"){
alert(_51.errors[0]);
}else{
if(_51.errors[0]=="Requested Movie is not public"){
alert(_51.errors[0]);
}else{
if(_51.errors[0]=="Illegal attempt to load tourmovie"){
alert(_51.errors[0]);
}else{
alert(i18n.MSG_ERROR_UNKNOWNERROR);
}
}
}
return;
}
var _52=_51.data;
geDControl.setGeomovieTitle(_52[0].name,_52[0].creator,_52[0].crdate);
geDControl.initGeomovieStatistic(_52[0]);
if(_52.name!==undefined){
_42=_52.name;
}
if(_52.description!==undefined){
_43=_52.description;
}
if(_52.audio!==undefined){
_44=_52.audio;
}
if(_52.banner!==undefined){
_45=_52.banner;
}
geApi.set3dLayerVisible(_52[0].layer3d);
sclist=_52[0].scenelist;
_52=null;
try{
_33.showDropdown(sclist,"Guided Tour");
}
catch(e){
snConsole.debug("dropdown list not found.");
}
_4d=sclist.length;
_3c=[];
for(var i=0;i<sclist.length;i++){
scUid=parseInt(sclist[i].uid);
if(scUid!==NaN){
aktScene=new geMovieScene(scUid,this,_36,_37,sclist[i]);
_3c[_3c.length]=aktScene;
if(sclist.length==_3c.length){
aktScene.markAsLastScene();
}
this.sceneLoaded(sclist[i].uid);
}
}
geController.loadFinished();
};
this.getFirstTrans=function(){
return _3c[_3b].getFirstTrans();
};
this.incScene=function(){
if(_3b<(_3c.length-1)){
_3c[_3b].unloadAktTransition();
_3b++;
_3c[_3b].resetTrans();
_41=true;
_37.setSceneUI(_3c[_3b],_3b,_3c.length,_3c[_3b].getTransIndex(),_3c[_3b].getTransSize());
return true;
}else{
_3c[_3b].resetTrans();
return false;
}
};
this.decScene=function(){
if(_3b>0){
_3c[_3b].unloadAktTransition();
_3b--;
}
if(_3b>=0){
_3c[_3b].resetTrans();
_41=true;
_37.setSceneUI(_3c[_3b],_3b,_3c.length,_3c[_3b].getTransIndex(),_3c[_3b].getTransSize());
return true;
}else{
return false;
}
};
this.setLastScene=function(){
_3c[_3b].unloadAktTransition();
_3b=(_3c.length-1);
_3c[_3b].resetTrans();
_41=true;
_37.setSceneUI(_3c[_3b],_3b,_3c.length,_3c[_3b].getTransIndex(),_3c[_3b].getTransSize());
};
this.resetScene=function(_54){
var _55=_3c[_3b];
_55.resetTrans();
_3b=0;
try{
_41=true;
var _56=_3c[_3b];
_37.setSceneUI(_56,_3b,_3c.length,_3c[_3b].getTransIndex(),_3c[_3b].getTransSize(),_54);
_56.resetTrans();
}
catch(e){
}
return true;
};
this.setSceneIndex=function(_57){
if(isNaN(_57)){
return false;
}else{
if(_57>=0&&_57<=_3c.length){
_3b=_57;
_3c[_3b].resetTrans();
_41=true;
return _3c[_3b];
}else{
return false;
}
}
};
this.setSceneIndexByUid=function(uid){
var _59=false;
l=_3c.length;
i=0;
while(!_59&&i<l){
if(_3c[i].getSceneData().uid==uid){
_3b=i;
_3c[_3b].resetTrans();
_41=true;
_59=true;
}
i++;
}
if(_59){
return true;
}else{
return false;
}
};
this.aktSceneStart=function(){
var _5a=_3c[_3b];
_37.setSceneUI(_5a,_3b,_3c.length,_3c[_3b].getTransIndex(),_3c[_3b].getTransSize());
};
this.getNextShot=function(_5b){
try{
if(_5b!=undefined){
_5b.unload();
}
}
catch(e){
snConsole.debug("unload: "+e);
}
ns=null;
while(ns==null){
if(_3c[_3b] instanceof geMovieScene){
aktscene=_3c[_3b];
if(_41){
_37.setSceneUI(aktscene,_3b,_3c.length,_3c[_3b].getTransIndex(),_3c[_3b].getTransSize());
tmp=null;
_41=false;
}
if(_3b==0&&aktscene.transitionIndexIsZero()){
}
ns=aktscene.getNextShot();
if(ns==false){
if(this.hasNext()){
_3b++;
if(_3b>=(_3c.length-1)){
geDControl.setPlayerLast();
}else{
geDControl.setPlayerNormal();
}
_3c[_3b].resetTrans();
_37.setSceneUI(_3c[_3b],_3b,_3c.length,_3c[_3b].getTransIndex(),_3c[_3b].getTransSize());
aktscene=_3c[_3b];
ns=aktscene.getNextShot();
}else{
ns=false;
}
}
}else{
ns=false;
}
}
return ns;
};
this.hasNext=function(){
var _5c=false;
if(_3b<(_3c.length-1)){
_5c=true;
}
return _5c;
};
var _5d=function(_5e){
if(_5e instanceof geMovieScene){
_4a.innerHTML=_5e.getImage();
_49.innerHTML=_5e.getDescription();
}
};
this.preloadModels=function(){
var len=_3c.length;
for(i=0;i<len;i++){
Scenedata=_3c[i].getSceneData();
if(Scenedata!=undefined&&Scenedata.kmlid!=undefined){
me.fetchKml(Scenedata.kmlid);
}else{
}
}
};
this.lastSceneLoaded=function(){
geController.loadFinished();
};
this.sceneLoaded=function(_60){
_4d--;
if(_4d==0){
}
};
this.notify=function(_61){
for(var i=0;i<_3c.length;i++){
_3c[i].notify(_61);
}
};
this.fetchKml=function(uid){
var _64=geApi.checkPreload(uid);
if(_64){
_40.push(uid);
poiToScene[Scenedata.kmlid]=Scenedata.poivi;
}else{
me.notify(uid);
}
me.next();
};
this.callbackLoadKml=function(_65){
if(!_65){
snConsole.debug("No Kml found!");
}else{
snConsole.debug("Fetchkml callback.. loaded: "+_3f);
if(poiToScene[_3f]>=1){
_65.setVisibility(false);
}
poiToScene[_3f]=_65;
geApi.getGeInstance().getFeatures().appendChild(_65);
}
me.notify(_3f);
_3f=-1;
_3e=false;
me.next();
};
this.next=function(){
if(!_3e&&!_40.isEmpty()){
_3e=true;
var uid=_40.dequeue();
_3f=uid;
string=geKmlGenService+"/"+uid+".kmz";
snConsole.debug("Fetchkml callback.. loaded: "+string);
google.earth.fetchKml(geApi.getGeInstance(),string,dojo.hitch(this,"callbackLoadKml"));
}
};
this.init=function(){
this.ajaxGetMovie(uid,key,this);
};
};
function LoadingPipe(){
this.queue=[];
this.queueSpace=0;
};
LoadingPipe.prototype.push=function(obj){
snConsole.debug("Pushed UID "+obj);
this.queue.push(obj);
};
LoadingPipe.prototype.isEmpty=function(){
snConsole.debug("isEmptry? "+this.queue.length);
return (this.queue.length==0);
};
LoadingPipe.prototype.dequeue=function(){
var _68=undefined;
if(this.queue.length){
_68=this.queue[this.queueSpace];
if(++this.queueSpace*2>=this.queue.length){
this.queue=this.queue.slice(this.queueSpace);
this.queueSpace=0;
}
}
return _68;
};
function geGuidedTourPlayer(_69){
var _6a=1;
var _6b=2;
var _6c=4;
var _6d=_6b;
var ge=_69;
var _6f;
tmPlaying=false;
aktTrans=false;
var _70=false;
var _71=false;
var _72=function(){
if(tmPlaying){
var _73=new Date();
aktTime=_73.getTime();
if(!aktTrans){
aktTrans=_6f.getNextShot();
if(aktTrans==false){
_74();
return;
}else{
aktTrans.setTiming(aktTime,"");
}
}
var _75=aktTrans.getNextPoint(aktTime);
if(!_75){
aktTrans=_6f.getNextShot(aktTrans);
if(aktTrans==false){
_74();
}else{
aktTrans.setTiming(aktTime,"");
}
}else{
try{
isLat=_75.getLatitude();
}
catch(e){
}
if(isNaN(isLat)){
}else{
var sp=aktTrans.getSpeed();
geApi.setFlyToSpeed(sp);
geApi.setLookAt(_75);
}
}
}
};
this.isPlaying=function(){
return tmPlaying;
};
this.setTransitionUI=function(){
_6f.getNextShot();
};
this.delay=function(_77){
tmPlaying=false;
var me=this;
setTimeout(function(){
tmPlaying=true;
me.ticker();
},_77);
};
this.setMovie=function(_79){
_6f=_79;
};
this.gotoFirst=function(){
geDControl.setPlayerFirst();
this.resetTransition();
_6f.resetScene();
};
this.gotoNext=function(){
var _7a=_6f.incScene();
if(_7a){
this.resetTransition();
}
};
this.gotoPrev=function(){
this.resetTransition();
_6f.decScene();
};
this.gotoLast=function(){
this.resetTransition();
_6f.setLastScene();
};
this.resetTransition=function(){
aktTrans=false;
if(!tmPlaying){
aktTrans=false;
var _7b=_6f.getFirstTrans();
if(_7b!=false){
return _7b;
}else{
return false;
}
}else{
return false;
}
};
var _7c=function(_7d){
var _7e=_6d;
var _7f=_7d;
_80(_7e);
_81(_7f);
_6d=_7f;
};
var _80=function(_82){
switch(_82){
case _6c:
var _83=dojo.byId("ge_pauseTP");
_83.style.backgroundPosition=getBgImageXPos(_83)+" 0px";
break;
case _6a:
var _83=dojo.byId("ge_playTP");
_83.style.backgroundPosition=getBgImageXPos(_83)+" 0px";
break;
case _6b:
var _83=dojo.byId("ge_stopTP");
_83.style.backgroundPosition=getBgImageXPos(_83)+" 0px";
break;
default:
break;
}
};
var _81=function(_84){
switch(_84){
case _6c:
var btn=dojo.byId("ge_pauseTP");
yPos=dojo.style(btn,"height");
if(yPos==null){
yPos="25";
}
btn.style.backgroundPosition=getBgImageXPos(btn)+" "+yPos+"px";
break;
case _6a:
var btn=dojo.byId("ge_playTP");
yPos=dojo.style(btn,"height");
if(yPos==null){
yPos="25";
}
btn.style.backgroundPosition=getBgImageXPos(btn)+" "+yPos+"px";
break;
case _6b:
var btn=dojo.byId("ge_stopTP");
yPos=dojo.style(btn,"height");
if(yPos==null){
yPos="25";
}
btn.style.backgroundPosition=getBgImageXPos(btn)+" "+yPos+"px";
break;
default:
break;
}
};
this.startMovie=function(){
if(_6d==_6a){
return;
}
if(_6f instanceof geTourMovie){
this.resetTransition();
_7c(_6a);
aktTrans=false;
tmPlaying=true;
_6f.preloadModels();
_6f.aktSceneStart();
google.earth.addEventListener(geApi.getGeInstance(),"frameend",_72);
_71=setTimeout(dojo.hitch(this,"ticker"),500);
}else{
}
};
var _74=function(){
tmPlaying=false;
aktTrans=false;
google.earth.removeEventListener(geApi.getGeInstance(),"frameend",_72);
ge.setFlyToSpeedDefault();
geController.stop();
};
this.pauseMovie=function(){
if(_6d==_6c){
return;
}
_7c(_6c);
tmPlaying=false;
aktTrans=false;
geApi.setLookAt(geApi.getLookAt());
google.earth.removeEventListener(geApi.getGeInstance(),"frameend",_72);
geApi.setFlyToSpeedDefault();
};
this.stopMovie=function(){
if(_6d==_6b){
return;
}
_7c(_6b);
tmPlaying=false;
aktTrans=false;
_6f.resetScene(true);
geApi.setLookAt(geApi.getLookAt());
google.earth.removeEventListener(geApi.getGeInstance(),"frameend",_72);
geApi.setFlyToSpeedDefault();
};
this.ticker=function(){
if(tmPlaying){
this.toggleOverlay();
_71=setTimeout(dojo.hitch(this,"ticker"),500);
}else{
clearTimeout(_71);
}
};
this.toggleOverlay=function(){
_70.setVisibility(true);
};
this.unload=function(){
};
this.callbackLoadedKml=function(uid){
alert("loaded uid: "+uid);
};
var _87=function(){
var _88=geApi.getGeInstance();
var _89=_88.getGlobe().getFeatures();
var _8a=_88.createScreenOverlay("ticker");
_8a.setVisibility(false);
_8a.setName("ticker");
_8a.setIcon(_88.createIcon(""));
_8a.getIcon().setHref(blackCutPic);
_8a.getOverlayXY().setX(1);
_8a.getOverlayXY().setY(1);
_8a.getSize().setX(1);
_8a.getSize().setY(1);
_88.getGlobe().getFeatures().appendChild(_8a);
_70=geApi.getFeaturesByName(_89,"ticker");
if(_70==null){
}
};
_87();
};


