// uliviewer.js
// programmed by Dr. Uli Wuensche 2008

var baseurl="http://rasp.segelflugschule-oerlinghausen.de/NRW/FCST";
var jackurl="http://www.drjack.info";
var klausurl="http://alpen.wxmap.info";
//var d2times=new Array('1000','1300','1600','1900');
var d2times=new Array('1100','1400','1700','2000');
var w2times=new Array('0800','0900','1000','1100',
                      '1200','1300','1400','1500','1600',
                      '1700','1800','1900','2000');
var time=1400;
var param="wstar_bsratio";
var bsize=800;
var dayprefix="";
var curr="curr";
var dw="w2";
var imgs = new Array();
var inloop;
var impressum='\
<h1>Impressum</h1>\
<p>Verantwortlich für den Inhalt dieser Website:<br>\
Dr. Ulrich Wünsche<br>\
Uhlenburgstr. 28<br>\
32760 Detmold<br>\
Tel: 05231-982938<br>\
<a href="mailto:wuensche@drwuensche.de">wuensche@drwuensche.de</a></p>\
<p>Die Software hat Dr. Jack Glendening (drjack) zusammengestellt.</p>\
<h2>Disclaimer</h2>\
<p>Die Darstellungen auf dieser Seite ersetzen keine Wetterberatung und \
dürfen auch nicht zu Navigationszwecken eingesetzt werden.</p>\
<p>Für externe Links wird keine Verantwortung übernommen, Dr. Wünsche \
macht sich insbesondere die dort getroffenen Aussagen nicht zu eigen.</p>';

function showblip()
{
  var imgurl=baseurl+"/"+dayprefix+param+"."+curr+"."+time+"lst."+dw+".png";
  var img = imgs[imgurl];

  if (typeof(img) == 'undefined') {
    img = new Image();
    img.src = imgurl;
    imgs[imgurl] = img;
  }
  document.getElementById("bild").innerHTML=
    "<IMG height="+bsize+" width="+bsize+" src=\"\" name=blipmap border=0>";
  document.blipmap.height = bsize;
  document.blipmap.width = bsize;
  document.blipmap.src = img.src;
}

function setbsize(bsizep)
{
  switch(bsizep) {
  case 1: 
    bsize*=1.25;
    break;
  case -1: 
    bsize/=1.25;
    break;
  default: 
    bsize=800;
  }
  showblip();
}

function settime(timep)
{
  var found=-1;
  var times=("w2"==dw)?w2times:d2times;
  var ltimes=times.length;
  var i;
  for(i=0;i<ltimes;i++) {
    if(time==times[i]) {
      found=i;
      break;
    }
  }
  switch(timep) {
  case "+1":
    if(found>=0) {
      time=times[(found+1)%ltimes];
    }
    break;
  case "-1":
    if(found>=0) {
      time=times[(ltimes+found-1)%ltimes];
    }
    break;
  default:
    time=timep;
  }
  showblip();
}

function setday(dayp)
{
  if(dayp!="") {
    dayp+=".";
  }
  dayprefix=dayp;
  showblip();
}

function setparam(paramp)
{
  param=paramp;
  showblip();
}

function setgrid(dwp)
{
  var times=("w2"==dwp)?w2times:d2times;
  var found=0;
  var i;
  var found=times.length-1;
  for(i=0;i<times.length;i++) {
    if(times[i]>=time) {
      found=i;
      break;
    }
  }
  time=times[found];
  dw=dwp;
  settimes();
  showblip();
}

function settimes()
{
  var i;
  var times=("w2"==dw)?w2times:d2times;
  var s="";
  for(i=0;i<times.length;i++) {
    s+="<a href='javascript:settime(\""+times[i]+"\")'>"+times[i]+"</a>\n";
    if(3==i%4) {
    s+="<br>";
  }
  x=document.getElementById("settime").innerHTML=s;
  }
}

function openwindow(url)
{
  var windowAttr = 
    'menubar=no,location=no,toolbar=no,directory=no,status=no,'+
    'scrollbars=yes,resizable=yes,width=400,height=600';
  var windowName = 'Hilfe';
  window.open(url,windowName,windowAttr);
}

function setcontent(imgp)
{
  switch(imgp) {
  case "contexthelp":
    openwindow(klausurl+"/parameters.html#"+param)
    break;
  case "impressum":
    document.getElementById("bild").innerHTML=impressum;
    break;
  default:
    showblip();
  }  
}

function initviewer()
{
  setgrid(dw);
  showblip();
}

var request=null;

function setrequest(url) 
{
  if (window.XMLHttpRequest) {
    request = new XMLHttpRequest(); // Mozilla, Safari, Opera
  } else if (window.ActiveXObject) {
    try {
      request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
    } catch (e) {
      try {
        request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
      } catch (e) {}
    }
  }
  if (!request) {
    alert("Kann keine XMLHTTP-Instanz erzeugen");
  } else {
//    alert(baseurl+'/'+dayprefix+url);
    request.open('post',baseurl+'/'+dayprefix+url, true);
    request.send(null);
    request.onreadystatechange = interpretRequest;
  }
}

// Request auswerten
function interpretRequest() 
{ 
  if((request.readyState==4) && (request.status==200)) {
    document.getElementById("bild").innerHTML="<pre>\n"+request.responseText+"</pre>";
  }
}
/*
  switch (request.readyState) {
  // wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
  case 4:
    if (request.status != 200) {
      alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
    } else {
      // Antwort des Servers -> als XML-Dokument
      var xmlDoc	= request.responseXML;
      // Namen aus dem XML-Dokument herauslesen
      var original	= xmlDoc.getElementsByTagName('originalname')[0].firstChild.nodeValue;
      var small	= xmlDoc.getElementsByTagName('smallname')[0].firstChild.nodeValue;
      var big		= xmlDoc.getElementsByTagName('bigname')[0].firstChild.nodeValue;
      // Namen in die Felder schreiben
      document.getElementById('original').innerHTML	= original;
      document.getElementById('small').innerHTML	= small;
      document.getElementById('big').innerHTML	= big;
    }
    break;
  default:
    break;
  }
}
*/
