//  javascript functions
var preload = [];
var categories = [];
var noImages = 0;
var noFctImages = 0;
var TotalImages = 0;
var RadarOnlyPart = 0;
var RadarFCTPart = 0;
var started = false;
var WinPrint;
var clearme = "N";
var delayer = 1;
var crntimage = 0;

function changepic(img_src)
{
  picture = img_src;
  document['satimg'].src = "/data/satelliet/" + picture + ".png";
  var anichk = document.getElementById("chkAnimation").checked;
  if(anichk==true) {
	 anistart();
  } 
}

function toggleAnimation() {
    var anichk = document.getElementById("chkAnimation").checked;
    var current_date = new Date;
    var cookie_year = current_date.getFullYear ( );
    var cookie_month = current_date.getMonth ( ) + 1;
    var cookie_day = current_date.getDate ( );

    if (anichk == true) {
        set_cookie("animation", true, cookie_year, cookie_month, cookie_day);
        anistart();
    }
    else{
        set_cookie("animation", false, cookie_year, cookie_month, cookie_day);
        anistop();
      
        doInnerHTML("timeStamp",  dtgs[noImages] );
        doInnerHTML("time2lbl", dtgs[noImages] );

       for(x=noImages+1;x<=TotalImages; x++) {
        changeColor("c" + x, "#AFDCEC" );
        }  
       for (x=0;x<=noImages;x++) {
        changeColor("c" + x, "#AFDCEC" );
         }
        for (x=0;x<=noImages;x++) {
        changeColor("c" + x, "blue" );
        }     
        crntimage = noImages;
    }
  }



function Hover(name)
{
    var divs = document.getElementsByTagName("div");
    
    for(var q = 0; q < divs.length; q++)
    {
        if(divs[q].className == name)
        {
            divs[q].onmouseover = function() {
                this.className = name + "Hover";
            };
            
            divs[q].onmouseout = function() {
                this.className = name;
            };
        }
    }
}
            
// Functionality for mouse over
function smartRollover() {
   if(document.getElementsByTagName) {
      var images = document.getElementsByTagName("img");

      for(var i=0; i < images.length; i++) {
         if(images[i].getAttribute("src").match("_off."))
         {
            images[i].onmouseover = function() {
               this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
            }
            images[i].onmouseout = function() {
               this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
            }
         }
      }
   }
}

if(window.addEventListener) {
   window.addEventListener("load", smartRollover, false);
}
else if(window.attachEvent) {
   window.attachEvent("onload", smartRollover);
}

// Functionality for textual details
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
       
// Animation functionality
function satsetup(imageList, DTGlist) {
   delay=250;
   c_speed = get_cookie("speed");
   c_animation = get_cookie("animation");
   
   delayer = c_speed;
   if(delayer==null){delayer=1}; 
   if(c_animation==null){c_animation="false"}; 
   if(c_animation=="true"){document.getElementById("chkAnimation").checked = true;}
   
    aniupid=setTimeout('anirefresh()', 1000000);
    satelliteimage = imageList.split(",");   // feed it comma seperated list
    dtglables = DTGlist.split(",");
    noImages = (satelliteimage.length -1);  // we know how many to count through
    images = new Array();
    dtgs = new Array();
  
   var endtijd;
   var starttijd;
   
    for(x=0;x<=noImages; x++) {
      images[x] = new Image();
      images[x].src = satelliteimage[x];
      dtgs[x] = dtglables[x];
     }
   endtijd  = dtgs[x-1];
   TotalImages = noImages
   crntimage = noImages;
   endtijd = Mid(endtijd,0,2) + "/" +  Mid(endtijd,11,5);
   starttijd = Mid(dtgs[0],0,2) + "/" +  Mid(dtgs[0],11,5);
   document.getElementById("startbox").innerHTML = starttijd;
   document.getElementById("eindbox").innerHTML = endtijd;
   
   document.satimg.src = images[crntimage].src;
   doInnerHTML("timeStamp",  dtgs[crntimage] );
   doInnerHTML("time2lbl", dtgs[crntimage] );
   
   for (x=0;x<=crntimage;x++) {
    changeColor("c" + x, "#2B60DE" );
   }
   var strSpeed = "Snelheid " + delayer + "x";
   
   if (c_animation == "true") {   
        started = false;
        anistart();
        } 
    } 

function anirefresh() {
   location.reload(true);
}

function animate() {
   MaxImages = noImages;
   if (clearme == "Y") {
                 for(x=1;x<=MaxImages; x++) {
                 changeColor("c" + x, "#AFDCEC" );
                }
        clearme = "N";
    }
    if(started == true) {
       aniid = setTimeout('animate()', delay);
       delay = 500/delayer;
       crntimage++;
       if (crntimage == MaxImages) {
       delay = 3500/delayer;
       }
       if(crntimage > MaxImages) {
             delay = 2000/delayer;
             clearme = "Y"
             crntimage = -1;
       }
       if (crntimage > -1) { 
           document.satimg.src = images[crntimage].src;
           doInnerHTML("timeStamp",  dtgs[crntimage] );
           doInnerHTML("time2lbl", dtgs[crntimage] );
           changeColor("c" + crntimage, "#2B60DE" );
       } 
     }
    }

function CheckTime()
 {
    SelectedIndex = document.forms.productselect.product.selectedIndex;
 	var product = document.forms.productselect.product[SelectedIndex].value;
    if (product < 2) {
        document.forms.productselect.tijd.style.visibility = "visible";
         } else {
        document.forms.productselect.tijd.style.visibility = "hidden";
     }
}

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() {
   crntimage++;
   MaxImages = noImages;
   if(crntimage > MaxImages) crntimage = MaxImages;
   document.satimg.src = images[crntimage].src;
   doInnerHTML("timeStamp",  dtgs[crntimage]);
   doInnerHTML("time2lbl", dtgs[crntimage] );
   changeColor("c" + crntimage, "#2B60DE" );
   
}

function stepback() {

   crntimage--;
   if(crntimage < 0) {
   crntimage = 0;
   }
   else {
   document.satimg.src = images[crntimage].src;
   doInnerHTML("timeStamp",  dtgs[crntimage] );
   doInnerHTML("time2lbl", dtgs[crntimage] );
   var crntimage2 = crntimage + 1
   changeColor("c" + crntimage2, "#AFDCEC" );
   } 
}

function steptostart() {
   crntimage = 0;
   document.satimg.src = images[crntimage].src;
   doInnerHTML("timeStamp",  dtgs[crntimage] );
   doInnerHTML("time2lbl", dtgs[crntimage] );
       for(x=1;x<=TotalImages; x++) {
        changeColor("c" + x, "#AFDCEC" );
        }
        if (started==true) {
        anistart();
        }
   }

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);
}

 function changeColor(elementid, theColor) {
    //alert(elementid);
    var theColor2 = "Navy"
    if (theColor == "#2B60DE" && crntimage > noImages){ 
        theColor = "Red";
        theColor2 = "Red";
        }
      
    document.getElementById(elementid).style.backgroundColor = theColor;
   // document.getElementById("timebox").style.backgroundColor = theColor2;
   
}
 
 
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 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);
}




