﻿var graficWin = false;
var doDebug = true;
var debugWin = false;
var panning = false;
var old_ms_id = '';
var theUserAgent = 'unknown';
var theUserVersion = 'unknown';
/**
Metadaten Messstelle in externem Fenster anzeigen
@param Integer ID der Messstelle
*/
function showMetaDataMS(ms_id)
{
   //image_frame.document.location
   the_src = './meta_data.php?ms_id=' + ms_id;

   window_settings='menubar=no, status=no, locationbar=no, resizable=yes, scrollbars=yes, width=400px, height=400px';
   meta_win=window.open(the_src,'meta_win',window_settings);
}
/*
aktuelle Seite mit ge?nderter URL erneut aufrufen
*/
function zoom(zoomFactor)
{
   newURL = change_url_param(document.location.href,'zf',zoomFactor);
   document.location.href = newURL;
}

/**
ffnet das Fenster mit den Zeitreihen zur Messstelle
@param Integer ID der Messstelle
*/
function openGrafikWin(ms_id)
{
   the_src='./diagram_result_index.php?ms_id=' + ms_id;
   window_settings='menubar=no, status=yes, locationbar=no, resizable=yes, scrollbars=yes, width=900px, height=540px';
   graficWin = window.open(the_src,'graficWin',window_settings);
   graficWin.focus();
}
/**
ffnete ein Fenster mit einer einzelnen Zeitreihe
@param Integer ID der Zeitreihe
*/
function openSimpleGrafikWin(zr_id)
{
   the_src='./diagram_output_image.php?zr_ids=' + zr_id;
   window_settings='menubar=no, status=no, locationbar=no, resizable=yes, scrollbars=yes, width=600px, height=400px';
   graficWin = window.open(the_src,'graficWin',window_settings);
   graficWin.focus();
}


function closeExternalWins()
{

   if(graficWin && !graficWin.closed)
   {
      graficWin.close();
   }
   if(debugWin && !debugWin.closed)
   {
      debugWin.close();
   }
}



/*
Anzeige der aktuellen Pegeldaten:
je Messstelle gibt es einen div-Bereich, visibility: hidden, id='flyout_' + ms_id
beim Mouseover auf der Imagemap wird der entprechende Bereich sichtbar geschaltet und an die aktuelle Mausposition geschoben
div-Bereiche anderer Messstellen werden unsichtbar geschaltet
*/
function showFlyOut(ereignis)
{
   //IE: .x/.y enthalten den Abstand vom Fensterrand, zur Positionierung des Flyouts muss daher die Scrollposition addiert werden
   //bei anderen Browsern enthalten pageX und pageY den Abstand vom Dokumentrand, der Scrollabstand ist nicht erforderlich
   if(!ereignis)
   {
      ereignis = window.event;
   }

   the_event = new myEvent(ereignis);

   divPosX = the_event.myStyleX;
   divPosY = the_event.myStyleY;

   ms_id = this.getAttribute('ms_id');
   hideFlyOut(old_ms_id);
   panning = false;
   the_element = document.getElementById("flyout_" + ms_id);
   if(the_element != null)
   {
      the_element.style.left = divPosX + 'px';
      the_element.style.top = divPosY + 'px';
      the_element.style.display = 'block';
      old_ms_id = ms_id;
   }

}


/*
div-Bereich mit aktuellen Pegeldaten unsichtbar schalten
*/
function hideFlyOut(ms_id)
{
   the_element = document.getElementById("flyout_" + ms_id);
   if(the_element != null)
   {
      the_element.style.display = 'none';
   }
}

function onLoadEventFunction()
{
   set_tag_event('area','onmouseover','showFlyOut');
   set_class_event('div','flyout','onmousedown','startPanMode');
   set_class_event('div','flyout','onmousemove','doPan');
   set_class_event('div','flyout','onmouseup','stopPanMode');
   set_class_event('table','flyout','onmousedown','startPanMode');
   set_class_event('table','flyout','onmousemove','doPan');
   set_class_event('table','flyout','onmouseup','stopPanMode');
}