//******* //Sidebar //******* function toggleSideMenu(){ resizeSideMenu(); if($('#xsidemenu').is(':visible')){ $('#xsidemenu').animate({'width':'0px'},function(){ $('#xsidemenu_container').hide(); $('#xsidemenu').hide(); }); } else { $('#xsidemenu_container').show(); $('#xsidemenu').css('width','0px'); $('#xsidemenu').show(); $('#xsidemenu').animate({'width':'300px'}); } } function getWindowSize(){ var ww = $(window).width(); var wh = $(window).height(); var bodywidth = $('body').width(); if(bodywidth && (bodywidth > ww)){ wh *= (bodywidth/ww); ww = bodywidth; } return {width: ww, height: wh}; } function resizeSideMenu(){ var wsize = getWindowSize(); var ww = wsize.width; var wh = wsize.height; //window height dependency with dynamic grid size on fixed headers //window size dependency with charting //aspect ratio / zoom ratio on mobile $('#xsidemenu').css('height',wh + 'px'); $('body').css('min-height',wh + 'px'); if(ww >= wh) $('body').removeClass('portrait').addClass('landscape'); else $('body').removeClass('landscape').addClass('portrait'); } $(window).resize(window.global_onResize); $(document).ready(function(){ window.global_onResize(); $('#xsidemenu').click(function (e) { e.stopImmediatePropagation(); }); }); window.global_onResize = function(){ resizeSideMenu(); } //********** // Worldwide //********** function do_nothing(){ } $(document).ready(function(){ var langbox = $('#worldwide_languages'); langbox.append('Worldwide');langbox.append('Spanish');langbox.append('Deutsch');langbox.append('Turkish');langbox.append('French');langbox.append('Czech ');langbox.append('Romanian'); $('#worldwide_link').hover( function(){ $('#worldwide_languages').show(); }, function(){ $('#worldwide_languages').hide(); } ); $('.querybox').focus(function(){ $(this).select(); $(this).css('color','#333'); }); $('.querybox').mouseup(function(e){ e.preventDefault(); }); }); //***** //Earth //***** //Test 15 vs 30 vs 60 fps var FRAME_MAX = 239; var FPS=20; var FPS_MS = 1000/FPS; vcache = new VideoCache(); vcache.StartLoad(); var curimg; var swapimg; var frame=0; var lastframetime=0; var wait_cache = false; //Add caching on separate thread function dock_close(){ $('#dock').fadeOut(500); } function debuglog(txt){ // $('#debug').prepend(txt+'
'); } function itovframe(i){ var pad = "000" + i; var rslt='/earth/'+pad.substring(pad.length-3)+'.png'; return rslt; } $(document).ready(function(){ debuglog('Starting...'); curimg = $('#sw1'); swapimg = $('#sw2'); swapimg.load(swap_loaded); curimg.load(swap_loaded); load_next_frame(); setTimeout("$('#dock').fadeIn(2000);",5000); }); function swap_loaded(){ var exptime = lastframetime + FPS_MS; var curframetime = (new Date()).getTime(); if(curframetime >= exptime){ swap_frames(); debuglog('Frame '+frame+' not preloaded'); } else{ setTimeout("swap_frames()",exptime-curframetime); } } function swap_frames(){ curimg.css('z-index',1); swapimg.css('z-index',2); swapimg.show(); curimg.hide(); var t = swapimg; swapimg = curimg; curimg = t; load_next_frame(); } function load_next_frame(){ //If frame is loaded, show it var targetframe = frame; if(wait_cache) targetframe = frame + Math.floor(FRAME_MAX/10); if(targetframe > FRAME_MAX) targetframe = FRAME_MAX; if(!vcache.IsLoaded(itovframe(targetframe))){ wait_cache = true; setTimeout("load_next_frame()",FPS_MS); debuglog('Waiting 10% until ' + targetframe); return; } wait_cache = false; lastframetime = (new Date()).getTime(); if(frame>FRAME_MAX) frame=0; swapimg.attr('src',itovframe(frame)); frame++; } function VideoCache () { this.loadqueue = new Array(); for(var i=0;i<=FRAME_MAX;i++){ this.loadqueue.push(itovframe(i)); } this.loaded = new Array(); $('body').append(''); this.loaderimg = $('#VSlideLoader'); this.PrependImages = function(imgarray){ //Prepend array of images for(var i=0; i