 var map;
var bounds;
var marker;
var poly;
var zeit;
var timer;
var run = false;
var slider;

     
function startApp() {
	var len = points.length
    var min = points[len-1].t/10;
    var max = points[0].t/10;
    zeit = points[0].t;
    slider= new Control.Slider("handler","track",{
    	sliderValue:max,range:$R(min,max),
    	onSlide:function(v) {
    			Element.hide('bg');
    			$('date').innerHTML = getgermandate(10*v);
    			run = false;
				$('ani').value='Start Animation';

   		},
		onChange:function(v){
			$('ani').observe('click',function() {
				if (run==true) {
					$('ani').value='Start Animation';
					run = false;
				} else {
					$('ani').value='Stopp Animation';
					run = true;
				}	
			});
			$('ani').disabled = null;
			setPosition(10*v);
		}});
	_mPreferMetric = true;
    calcHeight();
    map = new GMap2($("map"));
    map.setCenter(new GLatLng(48.57787,10.059741),5);
    map.setMapType(G_PHYSICAL_MAP);
    map.addControl(new GSmallMapControl());
    bounds= new GBounds();
   	var baseIcon = new GIcon();
    baseIcon.iconSize=new GSize(24,24);
    baseIcon.shadowSize=new GSize(38,30);
    baseIcon.iconAnchor=new GPoint(12,12	);
    baseIcon.infoWindowAnchor=new GPoint(16,0);
    icon = new GIcon(baseIcon, "boat.png", null, "http://maps.google.com/mapfiles/kml/pal5/icon7s.png");
 	var glatlngs = [];
 	for (var i=0;i<points.length;i++) {
 	   		glatlngs.push(new GLatLng(points[i].la,points[i].ln));
 	}
    map.panTo(new GLatLng(points[0].la,points[0].ln));
	marker = new GMarker(glatlngs[0],{icon:icon});
   	map.addOverlay(marker);
	poly = new GPolyline.fromEncoded({
  		color: "#ff5555",
  		weight: 1,
  		opacity: 0.8,
  		points: "c_rpIy~gbAo`aCjeIscrDo{vAoglBqkJaeaAmp]mxPppHkq@leB}uQf{Cm`eGdu{DgchAkPspf@cvZjaLvhWhx}BsiH`nzAmhhAh|gAuli@fneAexz@r~wHuoWp`gAz{hBxguHbazDyk_A{xsBauiErjn@cxhA_gxGre|AavyBnpuHjc_BghkBlcmH_m]fhpCskCzjw@zoB__r@qwAbkMySzrc@uGcaXw}BpeYlfCmc@w}BiyA~asAiuzBbgBo{dHxzk@ohoA_}gCisuF_xbCq_cEkmh@eeGg|i@snpAsiH{igC}_s@}_}BwvcGga_LeugFktrBad`A}kc@su]xhyDlBueDeqaAomwC{bQgiqCo|d@msnFmtZtunBix@~bmAdxaArnuBdgsA`l|EgDnxPqUkhLcgImnsBucBpnFfkbAlkrAts[~o~@r~Qm~HuvPfnKg}Ekta@sNcfH_zl@our@apKxmGfzBwvn@uyLgyt@omSpoNgrOhuD?t@xfUrafBpnF~~c@hxnEbz^z~_AzccBh_mFb}|Ddn`@~iZfxuEzriIvmaAsbOvegAhbnGtpuChmyMwsFe`Iass@gn~QfmdAiwk@}grAyrgDs{aAgviCuieI_tx[_n^snwAv`gMx_mu@o\\zf@cvfAdy_Efbb@~gaEmB?lB?mB?lB??lBmB?lB?mB?lB?mB?lB?mB?lB?mB?lB?mB?lB?mB?wi_@{_s@c~Ta}~Cc`|@co_LikHmfeDxqDukjEgxs@tpiB`}ZqrCts[rh_BzqnAhoqQzL~esCpeYx~a@xhPntLisBgzBt_E_zrI`fV_ec@pwA_`@w|~Bhh~Iogb@bt~B~ci@ijz@qz_DwqRc{kAc`|@_d[`d[oh`D{aPmwO`q|J~`~B~cvOywh@lnxChuzBlg}Op{{BwxDbrd@id_Edu{DqnxZlaEamt@tG}Eg|DciK|p_A_kqC`lz@ad}DjnDgpy@afVhlzAkth@~g|Cx_c@x__Mlnb@jhgDfm_FtyhFpny@|opKxhIzgvErqBsaNm{SgzgQu@gDi__@c{Qh__@jyQ?fDlcl@|_xAb}Snoz@r{aAvtNpqBq`[yuAjhLv_EvngBg_Acmm@uh@ghfAbl@fh_AgtC}nXrjBaze@oBnB?t@w@u@|LvZoB?nBbKoBcKwxuArfx@ulb@}d}AipMqecB?|EouFnyCnuFoyCinDbeNhnDceNqpAbeNppAceNntL|qqCt|`Bp{oAz|Xs`TuvmCdyO~xF{ecCkrAe`zA}_@zeF|_@{eF{xTqv@dwT`s@el@vwJ|aIntqQvqRucn@wrdB_gcAa~[}i{Gt~`CaogCtqqBfpjCawD{rhAfD?hWvwo@tnVb`yDlhEjezAogb@_f]piOi`vC~_@}qgAqjPark@`vCurZgDdDfuKx~fA_qLgp~A}xTez|@g^dDf^eD?w@?v@?w@?v@?w@?v@?w@?v@?w@?v@?w@?v@?w@?v@fwMkPd~FxwtA~{BvzwAra~nAn`vOcpi@_m`B_uu@{}jBsyZyuAyvxB_glFkgDxpCw@?v@?w@?v@?w@?v@?nwAcRowAbRw@?jmCo\\kmCn\\f{CatAoyC`tAdDnBeDoBw@?`pK_lU?oB?nB?oB?nB?oB?nBgDoBfcj@gkVeq\\mguA}m^efrAyzk@krpBgrOzaaBezPqxBet_FtvyDyyj@np{@jhEdscAsjBqjI}aBpjPnuMm{x@r}P{m@v|A?dpb@anI|zHisBba}@qibAt_}Ay`nBpmEwtGrlDirHxrEaiKrgMsud@?ee@ge@so@~_@rlD}_s@znf@}zeCypo@uw}@akMcho@alNseR_yFglWchCqjzAg}q@wq{Dsa_Baug@xuA?gDgDySkj@ilPuGzS`uBhnKeDcR?v@?w@oBnBw@?fDjIlB??v@v@}E?v@|~q@ypbBzx[c{uCynHmzKlr}@_|sAdexAmyiBr{Um}l@tkmAypsDfib@wegAdzu@wi|CnizC}fbDrxjBkkrAtt\\s{\\zx[up_@t|jD_poChyrAgafA`t~Bq_mAr}yDsycEtpdAc}x@djvAeizB_|IkdOpvG~rNzm@f^pU{LvoPf|DwuHuuV}eFzjDaRplK?|EaxEciDgqNhfQhiTsfL~_@nBafVpU`fVqUmhEaYlhE`YklIgxGjlIfxG{m@{L}jnAqg`AayaDse|A}udA|`m@so@oBqmEkbMcboCkyiBslD_vQsmj@jzeAg|i@jsg@wvIjI``^x}g@~hY`Rv~CnzKmfCeuY`dTqwm@xfaA{o`@fnjBzkoA~vD`YesPotLlBnBpsuAq`[~{IzhBxd_Afg`@ebp@ssi@_`@ySs`Md`IgglAnd_@efA|gAkhEv|AppHjj@qpHkj@wwJ_wK?nB?oBv|AqU~yGpmL?lBm{S_xnDlyQgdbAf{C}ih@sNw{@lIioLbse@kf{AxqaCcskIjjl@k{aFvxKs}}Hnrv@g~wAlgnA{weJ`eUojW?bKii~AawzBw{l@q~kA{qi@ad`A?u@cgzAdcj@_db@kmh@{fNhiMqnr@?w|AqsDhoLduR_yFjkt@kgp@x|pBjgDl_JibT|wdBqg[fsPhc\\opOz`Ou~Ql~HikH_wDuniAnkXg|zBzjDw_j@pnFge^u@lBt@?e}ErmE_aAcnB`nIimv@f{JecvAhnDm}dCn}Gn_a@_zGo_a@|aBgaCzm@as@su]oyJi}c@kxWe|Ksud@gjUesW?v@?w@?v@?w@?v@pw_@rkh@lkAxiQlxPjoj@{~Zfu|AdfApvGf|DxjKdxUdvx@~ba@huuAix@|bCm}GvwJtG}Et~Cdq\\rrCf{C~{Bw{@vpJvqKxcYe~r@|dErjB~vKozD?mBrvW`oCznAiq@bcLlyQjhEvpJtrZkaLfDeKy~a@sehCw|Akeu@ozDkzoCw@tbAprCvwJgtv@nwm@}`HtfEkbMrySi_dAo{oAw{@vZ_db@{`{@fzg@b|~@`wp@rjn@jhEgxG~pSosD_}C?bdr@gyt@ziJtbAjgDriHwvI|vcB_p~@k|MlI?t_E_cC?u@n{EscPgvEsaU?u@_sNt~C?dDsit@u}n@shG~vD?mBmwOup_@_oQacZgD?nB?mxWvpiBufc@|pfAm_o@po@ea{AausAizBgvE_xq@pcWgwoD|mjAkaLydSaeaAizxBegg@uv|@atm@yvkDqmEuh}Bw~{A_xvA{io@q~_@c}dBukyBux{D_~|Gm_o@o{}Ami|BwvcGefrAi~sC?qUfqfBlavAz}Rx~oFwjRfpy@~ba@jr|C~f`Et{oGfkbAt_j@|g`HnylD?u@?t@xk_AtzvDl~Hjni@|_@xa^fxNrit@raNb{bBvut@nngAvoWltSvyE`{_@~h~@jkm@b|YghZvbrA{_fBuGdD|zyA|afCbd`A~k\\hpk@m~OhsfCpro@|`m@tei@`sG}dEoBg^?nB~a`@`lNpmx@bnBlnb@goS~zm@wyEhyhEaky@mB?lB?su]`apBw@?{m@ujBgvEskC{hIymGw@?mBw@ntLfuoCt@uGqve@tzr@oBlIppHnce@qetDpcsLknmUb{zw@u}kDxy~O`gPjma@~afI`ugb@ok}@v`tElIzLpv@`Rqv@?ve[o`zBedpAj_Xl|FdbuA{udAvm\\qrtRog~L?lBdDv@zrc@m|FpbaJbtlO?v@?w@",
  		levels: "PMLKOHIJNLPLNJJMOMPNOPNPLJMKJILPIJMMPKLMLLMPIOOILIPKNKJOFOJKLNLHLKMKOIMAFNNLFMMOKPJNPGLDPPFMEDDDDDPDDDDDDDDDDDDLHMJPNLMKMIPILHPJPNMMLPMMMPNIKEJMKKPGMOMNKPJLDOLDJMLMINGMLJHBDEODFFNKOEKKJLIKNLOOJLJJOLHPMMONNEOIIPMJLKLEMKGKCECCCCCCCCCCCCCPIOPILLJCNACACAAAIIJIEEBJEDDDDDDKMIGPMKMLJKPLEIGMILHEIFPHIMJIHIMILKCDGPKECCBGCCFCCLKMIMIIKOKKHLFKMJLLMJFGPLJAJJLGLKLIJKHGLNGMJKOKJPKKNKLMMJLEMHPEMIHGKLJLDDICNOJHFLHMLMLKPFKHBNMLKJPKLKJLPJHMKIHDCKIKHJMNJELJLJOCCCCCKILMHGCLGKFKIIPMIDJHLGLFNLGPGKGJNHKOKNJJJKNJNLEIBKBLEKKLCIEODKOLINHPHIMKNJKNLHJFPNLLONHCOBLIJIMJKPNINFNLLKKGKDNLKJPDDLCHGCBLFLDLMJMPJNIEPHNMMOPDEMBCP",
  		zoomFactor: 2, 
  		numLevels: 18
	});
	map.addOverlay(poly);
 	$('ani').disabled = 'disabled';
	new PeriodicalExecuter(ani,1); 
	$('start').innerHTML = getgermandate(points[points.length-1].t);
	$('end').innerHTML = getgermandate(points[0].t);
}
 


function ani() {
	//if (zeit > points[points.length-1].t) run =false ;
    if (run==true) {
		if (map.getZoom()<8) map.setZoom(8);
		for (var i=points.length-1; i>=0; i--) {
			if (zeit<=points[i].t && i>0) {
				var n =i-1;
				zeit = points[n].t;
				break;
			}
		}
		marker.setPoint(new GLatLng(points[n].la,points[n].ln));
		map.panTo(new GLatLng(points[n].la,points[n].ln));
        $('date').innerHTML = getgermandate(points[n].t);
	} else 	map.setZoom(5);

}

function setPosition(t) {
	zeit = t;
	var latlng = getLatLngByDate(t);
	map.panTo(latlng);
	marker.setPoint(latlng);
    $('date').innerHTML = getgermandate(zeit);
}


function getgermandate(d) {
	var date = new Date();
	date.setTime(d*1000);
	var tag = date.getDate();
	var mon = date.getMonth()+1;
	var hh = date.getHours();
	var mm = date.getMinutes();
	if (mm<10) mm = '0' + mm;
	if (hh<10) hh = '0' + hh;

	if (tag<10) tag = '0' + tag;
	if (mon<10) mon = '0' + mon;
	return  tag + '.' + mon + '.' + date.getFullYear() + '<p style="width:100%;text-align:right;font-size:8pt">'
		+ hh + ':' + mm + ' Uhr</p>';
}



function getLatLngByDate(t) {
	for(var i=points.length-1;i>=0;i--) {
		if (t<points[i].t) {
			return new GLatLng(points[i].la,points[i].ln);
		}
	}
	return new GLatLng(points[0].la,points[0].ln);
}



function calcHeight() {
    var objBody = document.getElementsByTagName("body").item(0);
  	var h= window.innerHeight || self.innerHeight || document.body.clientHeight;
    h = h - 50;
    $('map').style.height = h + 'px';
    if (map) map.checkResize();
}


window.onload = startApp;
window.onresize = calcHeight;
