var aa=null;  // Menuevariable

//Menuefunktionen
function go(id)
   {      
      document.getElementById("aktid1").value=id; 
      document.getElementById("data").submit();
   }
   
function an(id)
  { 
  if(aa!=null) aus(aa);
  document.getElementById(id).style.display=""; 
  }
                                               
function get_object(id) {
			var object = null;
			if( document.layers )	{			
				object = document.layers[id];
			} else if( document.all ) {
				object = document.all[id];
			} else if( document.getElementById ) {
				object = document.getElementById(id);
			}
			return object;
		}
    
function is_child_of(parent, child) {
			if( child != null ) {			
				while( child.parentNode ) {
					if( (child = child.parentNode) == parent ) {
						return true;
					}
				}
			}
			return false;
		} 
    
      
function lahm(element,event,id)
{	


	    var current_mouse_target = null;
			var x=true;
			if( event.toElement ) {				
				current_mouse_target 			 = event.toElement;
			} else if( event.relatedTarget ) {				
				current_mouse_target 			 = event.relatedTarget;
			}
      		if(current_mouse_target==null)   x=false; 
      	//	alert(current_mouse_target);
  	if( x && !is_child_of(element, current_mouse_target) && element != current_mouse_target ) setTimeout("ausx('"+id+"')",200);
}

function austest(element, event, id) {
		  var ziel=document.getElementById(id);
			var current_mouse_target = null;
			var x=true;
			if( event.toElement ) {				
				current_mouse_target 			 = event.toElement;
			} else if( event.relatedTarget ) {				
				current_mouse_target 			 = event.relatedTarget;
			}
			//alert(current_mouse_target.id);
			if(current_mouse_target==null)   x=false; else if(ziel.id==current_mouse_target.id )  x=false;
		
			if( x && !is_child_of(element, current_mouse_target) && element != current_mouse_target ) {
				aus(id);
			}
		}
		
function aus(id)
  { 
   aa=null;
  document.getElementById(id).style.display="none"; 
  }
  
function ausx(id)
  { 
   if(aa!=id){
   aa=null;
  document.getElementById(id).style.display="none";
  } 
  }
  
  
//Funktionen fuers Datenverarbeiten  
function pp($y,$y0)
 {
  if($y=='null') return 'null';
  else  return punkt($y/$y0*100);
 }
 
 function round(num, places) {
        var shift = Math.pow(10, places);
        return Math.round(num * shift)/shift;
      };
function formatValue(v) {
        if (v < 1000)   return String(round (v,2));

        var magnitude = Math.floor(String(Math.floor(v)).length / 3);
        if (magnitude > suffixes.length - 1)
          magnitude = suffixes.length - 1;
        return String(round(v / Math.pow(10, magnitude * 3), 2)) +
          suffixes[magnitude];
      }

function machmal(g){var wert=document.getElementById("roll").value; bild.adjustRoll(wert);return 1;}
var suffixes = ['', 'k', 'M', 'G', 'T'];

function print_r(theObj){
  if(theObj.constructor == Array ||
     theObj.constructor == Object){
    document.write("<ul>")
    for(var p in theObj){
      if(theObj[p].constructor == Array||
         theObj[p].constructor == Object){
document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
        document.write("<ul>")
        print_r(theObj[p]);
        document.write("</ul>")
      } else {
document.write("<li>["+p+"] => "+theObj[p]+"</li>");
      }
    }
    document.write("</ul>")
  }
}


              
function ticks(x,d1,d2,self) {

              var diff=Math.floor(Math.abs(self.attr_('labs')[Math.floor(d1)]-self.attr_('labs')[Math.floor(d2)])/60/60/24);
                //diff=d1;
                   //return self.attr_('labs')[x];
              months =  ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
                             "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
              tage = ["So", "Mo", "Di", "Mi",
                           "Do", "Fr", "Sa","Klo"];
                                       
              var maxi=self.attr_('labs').length;
              var xr=parseFloat(self.attr_('labs')[Math.floor(x)]);
              var xl=parseFloat(self.attr_('labs')[Math.min(Math.floor(x+1),maxi-1)]);
              var left=(x-Math.floor(x));
              var wo=Math.floor(xr+(xl-xr)*left);
              var go=true;
              while(go)
              {
              var d = new Date(wo*1000);   //return xr+"k\n"+xl+"k\n"+wo+"k\n"+left+"k\n"+d;  
              
              tag = d.getDay(); ;
              wo=wo+60*60*24;
              if(tag==1) go= false;
              if(tag==2) go= false;
              if(tag==3) go= false;
              if(tag==4) go= false;
              if(tag==5) go=false;;
                
              }
                var day = Dygraph.zeropad(d.getDate());
                var stunde=Dygraph.zeropad(d.getHours());
                var minute=Dygraph.zeropad(d.getMinutes());
                var sec=Dygraph.zeropad(d.getSeconds());
                var year = "" + d.getFullYear();
             // Get a 0 padded month string
               var month = (d.getMonth() );  //months are 0-offset, sigh
             // Get a 0 padded day string
               
               
               var tag = d.getDay(); 
              if(diff<2)  return  tage[tag]+" "+stunde+":"+minute; 
              if(diff<20) return  tage[tag]+" "+day;
              if(diff<1000) return day+" "+months[month];
              return months[month]+" "+year;
              } 
 
function anzeige(x,self) {
return anzeigeX(x,self,true);
}

function moin(x,d1,d2,self) {
return "Moin <br>";
}   
 
function anzeigey(x,d1,d2,self) {
return anzeigeX(x,self,true)+"";
}       

function ticksy(x,d1,d2,self) {
var range=self.xAxisRange()
var d1=range[0];
var d2=range[1];
    var diff=Math.floor(Math.abs(self.attr_('labs')[Math.floor(d1)]-self.attr_('labs')[Math.floor(d2)])/60/60/24); 
    
 months =  ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
                             "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
              tage = ["So", "Mo", "Di", "Mi",
                           "Do", "Fr", "Sa","Klo"];
                                       
              var maxi=self.attr_('labs').length;
              var xr=parseFloat(self.attr_('labs')[Math.floor(x)]);
              var xl=parseFloat(self.attr_('labs')[Math.min(Math.floor(x+1),maxi-1)]);
              var left=(x-Math.floor(x));
              var wo=Math.floor(xr+(xl-xr)*left);
              var d = new Date(wo*1000);   //return xr+"k\n"+xl+"k\n"+wo+"k\n"+left+"k\n"+d;
                var stunde=Dygraph.zeropad(d.getHours());
                var minute=Dygraph.zeropad(d.getMinutes());
                var sec=Dygraph.zeropad(d.getSeconds());
                var year = "" + d.getFullYear();
             // Get a 0 padded month string
               var month = (d.getMonth() );  //months are 0-offset, sigh
             // Get a 0 padded day string
              var day = Dygraph.zeropad(d.getDate());
               var tag = d.getDay();
              if(diff<2)  return  tage[tag]+" "+stunde+":"+minute; 
              if(diff<20) return  tage[tag]+" "+day;
              if(diff<1000) return day+" "+months[month];
              return months[month]+" "+year;
}

        

function anzeigeV(x,self) {
return anzeigeX(x,self,false);
} 
              
function anzeigeX(x,self,ja) { 
var aa='';
if(x>400 && ja) aa='color=red ';
              months =  ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
                             "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
              var maxi=self.attr_('labs').length;
              var xr=parseFloat(self.attr_('labs')[Math.floor(x)]);
              var xl=parseFloat(self.attr_('labs')[Math.min(Math.floor(x+1),maxi-1)]);
              var wo=(x-Math.floor(x))*(xl-xr)+xr;
              var d = new Date(Math.floor(wo*1000));
                var stunde=Dygraph.zeropad(d.getHours());
                var minute=Dygraph.zeropad(d.getMinutes());
                var sec=Dygraph.zeropad(d.getSeconds());
                var year = "" + d.getFullYear();
             // Get a 0 padded month string
               var month = (d.getMonth() );  //months are 0-offset, sigh
             // Get a 0 padded day string
              var day = Dygraph.zeropad(d.getDate());
              
              return "<font "+aa+">"+Dygraph.zeropad(d.getHours()) + ":" +
              Dygraph.zeropad(d.getMinutes()) + ":" +
              Dygraph.zeropad(d.getSeconds())+"  "+ day+" "+months[month]+" "+d.getFullYear()+" </font>";;;
              }
              

     
