
var toggleState = 0;
var crntimage = 0;
var noImages = 0;
var map;
var latlng;
var i;
var mgr;
var radarImages = new Array(45);
var radarArray = new Array(45);
var dtgArray = new Array(45);
var dtgfctlables = new Array(45);
var radarfctimage = new Array(45);

var dtgs = new Array(25);
var zoomrow;
var zoomcolumn;
var started = false;
var WinPrint;
var clearme = "N";
var delayer = 1;
var radarBorder;
var mgr;
var markerNum;
var noImages = 0;
var noFctImages = 0;
var TotalImages = 0;
var crntimage = 0;
var clroldlyr = 0;
var zl;

var rowlat;
var collon;

function doNothing() {
}

function addLocationMarker(lat,lon)
{
	a=new GLatLng(lat,lon);
	b=new GIcon;
	b.image="http://weerplaza.nl/buienradar/paraplu_groot.png";
	b.iconSize=new GSize(32,32);
	b.iconAnchor=new GPoint(0,20);
	b.infoWindowAnchor=new GPoint(5,1);
	c = new GMarker(a,{icon:b,title:"Radarverwachting"});
	map.addOverlay(c);
}

function InitPageRegion(imageList, dtgList, fctlist, dtgfctlist, lat, lon) {    
    c_speed = get_cookie("speed");
    c_prognose = get_cookie("prognose");
    c_animation = get_cookie("animation");
    delayer = c_speed;
    
    if(delayer==null){delayer=4}; 
    if(c_prognose==null){c_prognose="true"}; 
    if(c_animation==null){c_animation="true"}; 

    if(c_prognose=="true"){document.getElementById("chkprognose").checked = true;}
    if(c_animation=="true"){document.getElementById("chkAnimation").checked = true;}  
    
	radarImages = imageList.split(",");
	dtgs = dtgList.split(",");
	radarFctImages = fctlist.split(",");   // feed it comma seperated list
	dtgfctlables = dtgfctlist.split(",");

	noImages = (radarImages.length -1);
	noFctImages = (radarFctImages.length -1);
	
	rowlat = lat;
	collon = lon;
	
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addMapType(G_PHYSICAL_MAP);
        zl = 11;  
         
		var endtijd;
		var starttijd;
		var startprogtijd;
		radarBorder = new GLatLngBounds(new GLatLng(48.925,0.003), new GLatLng(55.9749,10.8534));// raymond
			
        var t;
        var tt;
        while (crntimage <= noImages) {
			radarArray[crntimage] = new GGroundOverlay(radarImages[crntimage], radarBorder);
			radarArray[crntimage].hide();
			map.addOverlay(radarArray[crntimage]);
			
            dtgArray[crntimage] = dtgs[crntimage];
            crntimage++;
		}
		
		startprogtijd = Mid(dtgfctlables[0],3,5); 
		TotalImages = noImages + noFctImages + 2;

        while (crntimage < TotalImages) {
            t = crntimage - noImages - 1;
            radarArray[crntimage] = new GGroundOverlay(radarFctImages[t], radarBorder);
			radarArray[crntimage].hide();
			map.addOverlay(radarArray[crntimage]);
			
            dtgArray[crntimage] = dtgfctlables[t];
            endtijd = dtgfctlables[t];
            crntimage++;
		}
		
		endtijd = Mid(endtijd,3,5);
		starttijd = Mid(dtgs[0],3,5);
		document.getElementById("startbox").innerHTML = starttijd;
		document.getElementById("startprogbox").innerHTML = startprogtijd;
		document.getElementById("eindbox").innerHTML = endtijd;
		crntimage = 0;
                       
		var strSpeed = "Snelheid " + delayer + "x";
		document.getElementById("speedtag").innerHTML = strSpeed;
		
		delay = 500;
		aniupid=setTimeout('anirefresh()', 10000000);
		
		map.enableScrollWheelZoom();
		
		// set map zoom level	
		setTimeout('setMap()',100);
		
		addLocationMarker(rowlat,collon);
		
		if (c_animation == "true") { 
			started = false;
			
			anistart();
			
			if (c_prognose == "true") { 
				steptostart(); 
			}
        } else {
			crntimage = noImages;
			radarArray[crntimage].show();
			
			doInnerHTML("timeStamp",  dtgArray[noImages] );
			doInnerHTML("timeStamp2",  dtgArray[noImages] );
			doInnerHTML("time2lbl",  dtgArray[noImages] );
			
			clearProgressBar();
			for (x=0; x <= noImages ; x++) {
				changeColor("c" + x, "#2B60DE" );
			}
        }       
	}
}

function InitPage(imageList, dtgList, fctlist, dtgfctlist, regio) {    
    c_speed = get_cookie("speed");
    c_prognose = get_cookie("prognose");
    c_animation = get_cookie("animation");
    delayer = c_speed;
    
    if(delayer==null){delayer=4}; 
    if(c_prognose==null){c_prognose="true"}; 
    if(c_animation==null){c_animation="true"}; 

    if(c_prognose=="true"){document.getElementById("chkprognose").checked = true;}
    if(c_animation=="true"){document.getElementById("chkAnimation").checked = true;}  
    
    if( regio == null) {regio = 99};
	
	radarImages = imageList.split(",");
	dtgs = dtgList.split(",");
	radarFctImages = fctlist.split(",");   // feed it comma seperated list
	dtgfctlables = dtgfctlist.split(",");

	noImages = (radarImages.length -1);
	noFctImages = (radarFctImages.length -1);
	
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addMapType(G_PHYSICAL_MAP);
        zl = 8;  
         
        var zoomrow = Left(regio,1);
        var zoomcolumn = Right(regio,1);
     
		switch(zoomrow) {
			case "1":
				rowlat = "55.5";
				break;    
			case "2":
				rowlat = "54.5";
				break;
			case "3":
				rowlat = "53.5";
				break;    
			case "4":
				rowlat = "52.5";
				break;  
			case "5":
				rowlat = "51.5";
				break; 
			case "6":
				rowlat = "50.5";
				break;   
			case "7":
				rowlat = "49.5";
				break;     
			default:
				rowlat = "52.4345";
		}
        switch(zoomcolumn) { 
			case "1":
				collon = "0.75";
				break;    
			case "2":
				collon = "2.25";
				break;
			case "3":
				collon = "3.75";
				break;    
			case "4":
				collon = "5.25";
				break;  
			case "5":
				collon = "6.75";
				break; 
			case "6":
				collon = "8.25";
				break;   
			case "7":
				collon = "9.75";
				break;  
			default:
				// do not change!!
				collon = "5.428";
        } 
        
		var endtijd;
		var starttijd;
		var startprogtijd;
		radarBorder = new GLatLngBounds(new GLatLng(48.925,0.003), new GLatLng(55.9749,10.8534));// raymond
			
        var t;
        var tt;
        while (crntimage <= noImages) {
			radarArray[crntimage] = new GGroundOverlay(radarImages[crntimage], radarBorder);
			radarArray[crntimage].hide();
			map.addOverlay(radarArray[crntimage]);
			
            dtgArray[crntimage] = dtgs[crntimage];
            crntimage++;
		}
		
		startprogtijd = Mid(dtgfctlables[0],3,5); 
		TotalImages = noImages + noFctImages + 2;

        while (crntimage < TotalImages) {
            t = crntimage - noImages - 1;
            radarArray[crntimage] = new GGroundOverlay(radarFctImages[t], radarBorder);
			radarArray[crntimage].hide();
			map.addOverlay(radarArray[crntimage]);
			
            dtgArray[crntimage] = dtgfctlables[t];
            endtijd = dtgfctlables[t];
            crntimage++;
		}
		
		endtijd = Mid(endtijd,3,5);
		starttijd = Mid(dtgs[0],3,5);
		document.getElementById("startbox").innerHTML = starttijd;
		document.getElementById("startprogbox").innerHTML = startprogtijd;
		document.getElementById("eindbox").innerHTML = endtijd;
		crntimage = 0;
                       
		var strSpeed = "Snelheid " + delayer + "x";
		document.getElementById("speedtag").innerHTML = strSpeed;
		
		delay = 500;
		aniupid=setTimeout('anirefresh()', 10000000);
		
		map.enableScrollWheelZoom();
		
		// set map zoom level	
		setTimeout('setMap()',100);
		
		if (c_animation == "true") { 
			started = false;
			
			anistart();
			
			if (c_prognose == "true") { 
				steptostart(); 
			}
        } else {
			crntimage = noImages;
			radarArray[crntimage].show();
			
			doInnerHTML("timeStamp",  dtgArray[noImages] );
			doInnerHTML("timeStamp2",  dtgArray[noImages] );
			doInnerHTML("time2lbl",  dtgArray[noImages] );
			
			clearProgressBar();
			for (x=0; x <= noImages ; x++) {
				changeColor("c" + x, "#2B60DE" );
			}
        }       
	}
}

function setMap() {
	var mapControl = new GHierarchicalMapTypeControl(); 
	var topRight = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,90));
	
	pointCenter = new GLatLng(rowlat,collon);  
	map.setCenter(pointCenter, zl, G_NORMAL_MAP);
	map.addControl(mapControl);
	map.addControl(new GLargeMapControl, topRight);
	map.setMapType(G_NORMAL_MAP);	
}

function anirefresh() {
	location.reload(true);
}

function animate() { 
	if (document.getElementById("chkprognose").checked == true) {
		MaxImages = TotalImages - 1;
	} else {
		MaxImages = noImages;
	}
	
    if(started == true) {
		// set timeout for next frame
		aniid = setTimeout('animate()', delay);	
		
		crntimage++;
		
		delay = 500/delayer;
		if(crntimage == MaxImages) delay = 4500/delayer;
		if(crntimage > MaxImages) {
			delay = 1500/delayer;
			crntimage = -1;
		}
		if(crntimage == 0) clearProgressBar();

        if (crntimage > -1) { 
			if(crntimage == 0) radarArray[MaxImages].hide();
			if(crntimage > 0) radarArray[crntimage-1].hide();
			radarArray[crntimage].show();

			if (crntimage <= noImages) {
				doInnerHTML("timeStamp",  dtgs[crntimage] );
				doInnerHTML("timeStamp2",  dtgs[crntimage] );
				doInnerHTML("time2lbl",  dtgs[crntimage] );
			} else {
				doInnerHTML("timeStamp",  dtgfctlables[crntimage - noImages - 1] );
				doInnerHTML("timeStamp2",  dtgfctlables[crntimage - noImages - 1] );
				doInnerHTML("time2lbl",   dtgfctlables[crntimage - noImages - 1] );
			}		
		}
		changeColor("c" + crntimage, "#2B60DE" );    	
	}
}  

function clearProgressBar() {
	for(x=1;x<=TotalImages ; x++) {
		changeColor("c" + x, "#AFDCEC" );
	}
}

function anistart() {		
    if(started == false) {  		
        started = true;
        delay = 500/delayer;
        var strSpeed = "Snelheid " +  delayer + "x";
        document.getElementById("speedtag").innerHTML = strSpeed;
        aniid = setTimeout('animate()', delay);
        
    }
}

function anistop() {
     if(started) clearTimeout(aniid);       // bug if this was called before start
     started = false;                      // aniid would be undefined.
    }

function stepfwd() {	
	if (document.getElementById("chkprognose").checked == true) {
		MaxImages = TotalImages - 1;
	} else {
		MaxImages = noImages;
	}
	
	crntimage++;
	if(crntimage > MaxImages) crntimage = MaxImages;
	radarArray[crntimage-1].hide();
	radarArray[crntimage].show();
	
	if (crntimage <= noImages) {
		doInnerHTML("timeStamp",  dtgs[crntimage] );
		doInnerHTML("timeStamp2",  dtgs[crntimage] );
		doInnerHTML("time2lbl",  dtgs[crntimage] );
	} else {
		doInnerHTML("timeStamp",  dtgfctlables[crntimage - noImages - 1] );
		doInnerHTML("timeStamp2",  dtgfctlables[crntimage - noImages - 1] );
		doInnerHTML("time2lbl",   dtgfctlables[crntimage - noImages - 1] );
	}
	
	changeColor("c" + crntimage, "#2B60DE" );
}

function stepback() {
	if (document.getElementById("chkprognose").checked == true) {
		MaxImages = TotalImages - 1;
	} else {
		MaxImages = noImages;
	}
	
	crntimage--;
	if(crntimage < 0) {
        crntimage = 0;
    }
	else {
		map.clearOverlays();

		if(crntimage < MaxImages) radarArray[crntimage+1].hide();
		radarArray[crntimage].show();

        if (crntimage <= noImages) {
			doInnerHTML("timeStamp",  dtgs[crntimage] );
			doInnerHTML("timeStamp2",  dtgs[crntimage] );
			doInnerHTML("time2lbl",  dtgs[crntimage] );
		} else {
			doInnerHTML("timeStamp",  dtgfctlables[crntimage - noImages - 1] );
			doInnerHTML("timeStamp2",  dtgfctlables[crntimage - noImages - 1] );
			doInnerHTML("time2lbl",   dtgfctlables[crntimage - noImages - 1] );
		}
		
        var crntimage2 = crntimage + 1
        changeColor("c" + crntimage2, "#AFDCEC" );
   } 
}

function steptostart() {
    crntimage = 0;
    doInnerHTML("timeStamp", dtgs[crntimage] );
    doInnerHTML("time2lbl", dtgs[crntimage] );
    doInnerHTML("timeStamp2", dtgs[crntimage] ); 
	
    clearProgressBar();
      
	doInnerHTML("timeStamp", dtgs[crntimage] );
	doInnerHTML("timeStamp2", dtgs[crntimage] );
	doInnerHTML("time2lbl", dtgs[crntimage] );
}

function speedup() {
    
   var current_date = new Date;
   var cookie_year = current_date.getFullYear();
   var cookie_month = current_date.getMonth() + 1;
   var cookie_day = current_date.getDate();
   delayer++;
   if(delayer > 4) delayer = 4;
   var strSpeed = "Snelheid " + delayer + "x";
   document.getElementById("speedtag").innerHTML = strSpeed;
   set_cookie("speed", delayer, cookie_year, cookie_month, cookie_day);
    
}

function slowdown() {
  
   var current_date = new Date;
   var cookie_year = current_date.getFullYear ( );
   var cookie_month = current_date.getMonth ( ) + 1;
   var cookie_day = current_date.getDate ( );
   delayer--;
   if(delayer < 1) delayer = 1;
   var strSpeed = "Snelheid " +  delayer + "x";
   document.getElementById("speedtag").innerHTML = strSpeed;
   set_cookie("speed", delayer, cookie_year, cookie_month, cookie_day);
  
}

<!--//--><![CDATA[//><!--

function changeColor(elementid, theColor) {
    var theColor2 = "Navy"
    if (theColor == "#2B60DE" && crntimage > noImages){ 
        theColor = "Red";
        theColor2 = "Red";
        }
    if(document.getElementById(elementid)) document.getElementById(elementid).style.backgroundColor = theColor;
}
 
function doInnerHTML(elementId, stringHTML) {
 
   try {
      var elem = document.getElementById(elementId);
      var children = elem.childNodes;
 
      for (var i = 0; i < children.length; i++) {
         elem.removeChild(children[i]);
      }
 
      var nodes = new DOMParser().parseFromString(stringHTML, 'text').documentElement;
      var range = document.createRange();
      range.selectNodeContents(
      document.getElementById(elementId));
      range.deleteContents();
 
      for (var i = 0; i < nodes.childNodes.length; i++) {
         document.getElementById(elementId).appendChild(document.importNode(nodes.childNodes[i], true));
      }
      return true;
      } catch (e) {
         try {
            document.getElementById(elementId).innerHTML = stringHTML;
            return true;
         }
      catch(ee) {
         return false;
      }
   }
}
//--><!]]>
                      
function delete_cookie ( cookie_name )      {
	var cookie_date = new Date ( );  // current date & time
	cookie_date.setTime ( cookie_date.getTime() - 1 );
	document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )  {
	var cookie_string = name + "=" + escape ( value );
	if ( exp_y ) {
		var expires = new Date ( exp_y, exp_m, exp_d );
		cookie_string += "; expires=" + expires.toGMTString();
	}
	if ( path )
		cookie_string += "; path=" + escape ( path );
	if ( domain )
		cookie_string += "; domain=" + escape ( domain );
	if ( secure )
		cookie_string += "; secure";
	document.cookie = cookie_string;
}

function get_cookie ( cookie_name ) {
	var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
	if ( results )
		return ( unescape ( results[2] ) );
	else
		return null;
}

function Right(str, n)
        {
                if (n <= 0)     // Invalid bound, return blank string
                   return "";
                else if (n > String(str).length)   // Invalid bound, return
                   return str;                     // entire string
                else { // Valid bound, return appropriate substring
                   var iLen = String(str).length;
                   return String(str).substring(iLen, iLen - n);
                }
        }

function Left(str, n)
{
	if (n <= 0)     // Invalid bound, return blank string
		return "";
	else if (n > String(str).length)   // Invalid bound, return
		return str;                // entire string
	else // Valid bound, return appropriate substring
		return String(str).substring(0,n);
}


function Mid(str, start, len)
{
// Make sure start and len are within proper bounds
    if (start < 0 || len < 0) return "";
    var iEnd, iLen = String(str).length;
    if (start + len > iLen)
          iEnd = iLen;
    else
          iEnd = start + len;
    return String(str).substring(start,iEnd);
}

function togglePrognose(){
    var current_date = new Date;
    var cookie_year = current_date.getFullYear ( );
    var cookie_month = current_date.getMonth ( ) + 1;
    var cookie_day = current_date.getDate ( );
    var progchk = document.getElementById("chkprognose").checked;
	
	for(x = noImages; x < TotalImages; x++) radarArray[x].hide();
	
    if (progchk == true){
        set_cookie("prognose", true, cookie_year, cookie_month, cookie_day);
        steptostart();
    } else {
        set_cookie("prognose", false, cookie_year, cookie_month, cookie_day);
        steptostart();
    }    
}

function toggleAnimation() {
    var current_date = new Date;
    var cookie_year = current_date.getFullYear ( );
    var cookie_month = current_date.getMonth ( ) + 1;
    var cookie_day = current_date.getDate ( );
    var anichk = document.getElementById("chkAnimation").checked;
    
    if (anichk == true) {
        set_cookie("animation", true, cookie_year, cookie_month, cookie_day);
        started == false;
        anistart();
    } else{
        set_cookie("animation", false, cookie_year, cookie_month, cookie_day);
        anistop();

		for(x=noImages+1;x<TotalImages; x++) {
			changeColor("c" + x, "#AFDCEC" );
		}
        
        doInnerHTML("timeStamp",  dtgs[noImages] );
        doInnerHTML("timeStamp2",  dtgs[noImages] );
        doInnerHTML("time2lbl",  dtgs[crntimage] );

        for (x=0;x<=noImages;x++) {
            changeColor("c" + x, "blue" );
        }     
		
        crntimage = noImages;
    }
}

