//============================================================================
// CVS-Log
//--------
// $Log$
// Revision 1.14  2009/10/14 11:32:03  cklein
// ==> tr_click(): Absicherung
//
// Revision 1.13  2009/10/09 12:11:21  cklein
// ==> exchangeImages() erweitert
//
// Revision 1.12  2009/10/06 10:40:57  cklein
// ==> refresh() => refresh_withValid()
//
// Revision 1.11  2009/09/28 16:50:04  cklein
// ==> Verbesserung von grey_field() und ungrey_field()
//
// Revision 1.10  2009/08/26 13:23:28  urau
// ==> Revisionsliste korrigiert
//
// Revision 1.9  2009/08/26 12:21:35  cklein
// ==> wieder Verwendung von getElementById() in jumpToEditPage()
//
// Revision 1.8  2009/08/25 14:52:20  urau
// ==> jumpToEditPage:: Einer der Input-Tags hat keine ID, sondern nur nen Namen. Muss also anders angesprochen werden.
//
// Revision 1.7  2009/05/14 15:17:51  cklein
// ==> Erneut jQuery-Syntax entfernt
//
// Revision 1.6  2009/05/14 14:29:48  cklein
// ==> jQuery-Syntax entfernt
//
// Revision 1.5  2009/05/08 12:57:28  cklein
// ==> Syntaxfehler korrigiert
//
// Revision 1.4  2009/04/30 16:14:32  cklein
// ==> XHTML-Umstellung
// ==> UTF-8 Kodierung
//
// Revision 1.3  2007/03/14 16:47:25  cklein
// ==> Realisierung von JS-Formular-Refresh-Funktionen
//
// Revision 1.2  2007/01/19 14:03:59  rau
// ==> Fehlerbehebung und voruebergehende Deaktivierung der Kontextmenuesache (hagelt nur Fehler)
//
// Revision 1.1  2006/07/27 11:50:45  cvsintern
// ==> Erstimport
//
//
//============================================================================  
  
  /**
  * JavaScript-Funktionssammlung.
  *
  * @author	   Christopher Klein, Udo Rau
  * @copyright orgaplus
  * @version   $Id$
  */

  /* globale Variablen */
  
  do_hold = false;


  /**
    * @param  
    */  
  function checkjs(active) {
  	  if (document.getElementById("jstest")) {
	      style = document.getElementById("jstest").style
	      if (active) {
	          style.display="none";
	      } else {
	          style.display="inline";
	      }
      }
  }


  /**
    * @param string, string, int, int, int, int
    */
  function openWindow(path,name,width,height,left,top) {
      w = window.open(path,name,"width="+width+",height="+height+",left="+left+",top="+top+",scrollbars=yes");    	
  }

            
  /**
   * Setzt das hidden-Feld "jump_target" auf die spezifizierte Seite
   * und vollstreckt einen Submit mit dem zugehoerigen uebergebenen Formular.
   * 
   * @param form object
   * @param target page number
   */                                                     
  function jumpToPage(form, targetPageNumber) {                  
      if (targetPageNumber) {
          document.getElementById('jump_target').value = targetPageNumber; 
      }
      // -> Uebergebenes Ziel (target) im Hidden-Feld "jump_target" des "anfragenden" Formulars (requesting_form) setzen
      form.submit();  // "Anfragendes" Formular absenden          
  }

  /**
    * @param form object
    * @param target page number
    */                                            
  function jumpToEditPage(form, targetPageNumber) {
      if (targetPageNumber) {
          document.getElementById("jump_target").value = targetPageNumber;
          document.getElementById("edit_page_nr").value = targetPageNumber;         
          /* ur: Wurde wieder auf Verwendung von ID umgestellt
          var inputs = document.getElementsByName("edit_page_nr");
          for( var i = inputs.length - 1; i > -1; i-- ) {
            var input = inputs[i];
            if(input.id=="edit_page_nr"){
            	input.value=targetPageNumber;
            	break;
            }
          }
          */          
          form.submit();  // "Anfragendes" Formular absenden                
      }
  }
    
  /**
   * Setzt das hidden-Feld "refresh" auf 1
   * und vollstreckt einen Submit mit dem zugehoerigen uebergebenen Formular. 
   * 
   * @param form object
   */                                                     
  function refresh_withValid(form) {    
      document.getElementById("refresh").value = "1"; 
      form.submit();  // "Anfragendes" Formular absenden          
  }     
    
  /**
   * Setzt das hidden-Feld "refresh_novalid" auf 1
   * und vollstreckt einen Submit mit dem zugehoerigen uebergebenen Formular.
   * 
   * @param form object
   */                                                     
  function refresh_noValid(form) {               
      document.getElementById("refresh_novalid").value = "1"; 
      form.submit();  // "Anfragendes" Formular absenden          
  }    
    
  /**
   * Springt auf der aktuellen Seite zum Anker anchor_name.
   * 
   * @param ID des Sprungankers
   */          
  function jumpToAnchor(anchor_name) {              
      window.location.href = "#"+anchor_name;            	
  }
    
  /**
   * Dynamisches Laden der Button-Menü-Bilder.
   * 
   * @param ID des zu verändernden Image-Objektes
   * @param Neues Image-Objekt
   * @param Bild halten? Solange dieses Kennzeichen gesetzt ist, kann das Bild nicht mehr verändert werden. 
   */      
  function changeImage(id, img, hold) {  	  	  
      if (!do_hold) {
      	  var imgobj = null;
      	  if (typeof img == "string") {
      	      imgobj = new Image();
      	      imgobj.src = img;
      	  } else {
      	  	  imgobj = img;
      	  }      	        	        	          	                             
          document.getElementById(id).src = imgobj.src;
      }
      if (hold) {
          do_hold = true;
      }
  }
      
  /**
    *  @param		string   Quellobjektname
    *  @param		int      Nummer fuer Quellpfadinformationen
    *  @param		string   Zielobjektname
    *  @param		int      Nummer fuer Zielpfadinformationen
    *  @param       array    Array mit Bildpfadinformationen 
    *  @return
    */ 
  function exchangeImages(src_name,src_path_nr,dst_name,dst_path_nr, imageArray) {    	           
      dst_name.src = imageArray[src_path_nr]["large"];  // .. gemaess den grossen bildern anpassen    	
      src_name.src = imageArray[dst_path_nr]["small"];  // .. gemaess den kleinen bildern anpassen

      tmp_src_images = new Array();
      tmp_src_images = imageArray[src_path_nr];

      imageArray[src_path_nr] = imageArray[dst_path_nr];
      imageArray[dst_path_nr] = tmp_src_images;

  } // function


          
  /**
    *  @param	object, string
    *  @return  
    */                        
  function changeImageService(requesting_form, service_type)  
    /* Setzt den Bildmodus. Entweder mit Bild-Upload (service_type = "upload")
       oder Bild-URL-Angabe (service_type = "url")  */  
    {      document.getElementById('alt_action___change_image_service').value = "1";             
      requesting_form.submit();  // "Anfragendes" Formular absenden          
    }
  /**
    *  @param	object, string
    *  @return  
    */                        
  function changeSoundService(requesting_form, service_type)  
    {
      document.getElementById('alt_action___change_sound_service').value = "1";             
      requesting_form.submit();  // "Anfragendes" Formular absenden          
    }

                                   
   
  /**
    *  @param	int, string, string, string
    *  @return
    */      
  function countdown(remain_timestamp,span_id,requesting_page,format)
    {     	
      	
      // Auswertung der Format-Variable: Was soll angezeigt werden? //
      formats = format.split(",");
      for(i=0;i<formats.length;i++)
        {
          switch(formats[i])
            {
              case "Y":    var show_years   = true;
                           break;
              case "M":    var show_months  = true;
                           break;
              case "D":    var show_days    = true;
                           break;
              case "H":    var show_hours   = true;
                           break;
              case "MIN":  var show_minutes = true;
                           break;
              case "SEC":  var show_seconds = true;
                           break;
              default:     setCont("id",span_id,null, "Format Error!");
                           break;	
            }	
        }	
    	                    
                                    
      // Berechnung der verbleibenden Zeit (Berechnen wir einfach alles) //                              
                
      temp    =  remain_timestamp;          
      
      if (show_years) {
        // Jahre
        years   =  Math.floor(temp/(60*60*24*365)); 
        temp   -=  years*60*60*24*365;     
      }
      if (show_months) {    
        // Monate 
        months  =  Math.floor(temp/(60*60*24*31));
        temp   -=  months*60*60*24*31;                                    
      }
      if (show_days) {
        // Tage
        days    =  Math.floor(temp/(60*60*24));
        temp   -=  days*60*60*24;
      }
      if (show_hours) {
        // Stunden
        hours   =  Math.floor(temp/(60*60));
        temp   -=  hours*60*60;
      }
      if (show_minutes) {
        // Minuten
        minutes =  Math.floor(temp/60);
        temp   -=  minutes*60;  
      }
      if (show_seconds) {
        // Sekunden 
        seconds =  Math.floor(temp); 
      }

      if ( ((! show_years) || (years == 0)) &&
           ((! show_months) || (months == 0)) &&
           ((! show_days) || (days == 0)) &&
           ((! show_hours) || (hours == 0)) &&
           ((! show_minutes) || (minutes == 0)) &&
           ((! show_seconds) || (seconds == 0)) )
        {
          location.href = requesting_page;       // -> Neuladen
          return;        	
        }


      // Korrektur der Anzeige (Korrigieren wir einfach alles) //
      if (show_years) {
        disp_years   = TRANS_JS_COUNTDOWN_YEARS;
      }
      if (show_months) {
        disp_months  = TRANS_JS_COUNTDOWN_MONTHS;
      }
      if (show_days) {
        disp_days    = TRANS_JS_COUNTDOWN_DAYS
      //days     = (days < 10) ? ("0"+days) : days;
      }
      if (show_hours) {
        disp_hours   = TRANS_JS_COUNTDOWN_HOURS;
        hours    = (hours < 10)   ? ("0"+hours) : hours;
      }
      if (show_minutes) {
        disp_minutes = TRANS_JS_COUNTDOWN_MINUTES;
        minutes  = (minutes < 10) ? ("0"+minutes) : minutes;      
      }
      if (show_seconds) {
        disp_seconds = TRANS_JS_COUNTDOWN_SECONDS;
        seconds  = (seconds < 10) ? ("0"+seconds) : seconds;
      }

      var disp_str = "";

      disp_str += ((show_years) && (years > 0))     ? years   + " " + disp_years   + " " : "";
      disp_str += ((show_months) && (months > 0))   ? months  + " " + disp_months  + " " : "";
      disp_str += ((show_days) && (days > 0))       ? days    + " " + disp_days    + " " : "";
      disp_str += ((show_hours) && (hours > 0))     ? hours   + " " + disp_hours   + " " : "";
      disp_str += ((show_minutes) && (minutes > 0)) ? minutes + " " + disp_minutes + " " : "";
      disp_str += ((show_seconds) && (seconds >= 0)) ? seconds + " " + disp_seconds + " " : "";
  
      // Per DHTML die verbleibende Zeit einfuegen                
      setCont("id",span_id,null, disp_str);
                        
      // Eine Sekunde runterzaehlen                  
      remain_timestamp--;      
      
      // Aktuelle verbleibende Sekundenanzahl global machen fuer Aufruf per setTimeout....
      var remain_timestamp_glob = remain_timestamp;
      // Uebergebene aufrufende Seite global machen fuer Aufruf per setTimeout.....
      var requesting_page_glob = requesting_page;                
      // Uebergebene Format-Variable global machen fuer Aufruf per setTimeout.....
      var format_glob = format;                
          setTimeout("countdown("+remain_timestamp_glob+",'"+span_id+"','"+requesting_page_glob+"','"+format_glob+"');",1000);
    }             
    

  /**
    *  @param	string
    *  @return reverted string
    */

function revert_string(string){

  var s=string;
  result="";
  if(s!=""){
    if(s.length<0){
//      alert("NULLSTRING!");
    } else {
      for(var cnt = s.length; cnt >= 0; cnt--) {
        result+=string.charAt(cnt)
      }   
    }
    return result;
  }
   return false;
}



/**
  *  @param	
  *  @return
  *  
  *  Zum Auswaehlen von Optionsfeldern.
  */                                                     
function unselect_option(id) {
//  alert("Debug, KEIN Fehler! -- UNselect_opt_id: "+id);
  document.getElementById(id).checked=false;
}
/**
  *  @param	
  *  @return
  *  
  *  Zum Auswaehlen von Optionsfeldern.
  */                                                     
function select_option(id) {
//  alert("Debug, KEIN Fehler! -- select_opt_id: "+id);
  document.getElementById(id).checked=true;
}

function select_option_2(object) {

/*
  alert("DEBUG - KEIN Fehler!" +
        "\n\n-----[ "+ object.name +" ]-----" +
        "\n object: "  + object + 
        "\n id: "      + object.id +
        "\n name: "    + object.name +
        "\n value: "   + object.value +
        "\n checked: " + object.checked 
        );
*/
  object.checked=true;

}

/**
  *  @param	
  *  @return
  *  
  *  Zum Auswaehlen von CheckBoxen.
  */                                                     
function select_checkbox(id) {
//  alert("select_cb_id: "+id);
  document.getElementById(id).checked=true;
}

/**
  *  @param	
  *  @return
  *  
  *  Zum Deaktivieren von CheckBoxen.
  */                                                     
function unselect_checkbox(id) {
//  alert("un_select_cb_id: "+id);
  document.getElementById(id).checked=false;
}


/**
  *  @param	  string
  *  @return  void
  *  
  *  Leeren eines Feldes.
  */
function clear_field(id) {
//  alert("clear_fieled_id: "+id);
  document.getElementById(id).value="";
}

/**
  *  @param	  string
  *  @return  void
  *  
  *  Deaktivieren von Versand und Versicherung
  */
function switch_deliver(mode) {
  if(mode=="disable") {
    document.getElementById('id_delivery_cost_carrier_buyer').disabled=true;
    document.getElementById('id_delivery_cost_carrier_seller').disabled=true;
    document.getElementById('id_tell_delivery_cost').disabled=true;
    document.getElementById('id_tell_delivery_cost_later').disabled=true;
    document.getElementById('id_delivery_cost').disabled=true; 
    document.getElementById('id_ensurance_cost').disabled=true;
  } else {
    document.getElementById('id_delivery_cost_carrier_buyer').disabled=false;
    document.getElementById('id_delivery_cost_carrier_seller').disabled=false;
    document.getElementById('id_tell_delivery_cost').disabled=false;
    document.getElementById('id_tell_delivery_cost_later').disabled=false;    
    document.getElementById('id_delivery_cost').disabled=false;
    document.getElementById('id_ensurance_cost').disabled=false;
  }

}
/**
  *  @param	  string
  *  @return  void
  *  
  *  Deaktivieren von Versand und Versicherung
  */
function switch_delivery_cost_carrier(mode) {
  if(mode=="disable") {
    document.getElementById('id_tell_delivery_cost').disabled=true;
    document.getElementById('id_tell_delivery_cost_later').disabled=true;
    document.getElementById('id_delivery_cost').disabled=true; 
    document.getElementById('id_ensurance_cost').disabled=true;
  } else {
    document.getElementById('id_tell_delivery_cost').disabled=false;
    document.getElementById('id_tell_delivery_cost_later').disabled=false;    
    document.getElementById('id_delivery_cost').disabled=false;
    document.getElementById('id_ensurance_cost').disabled=false;
  }

}


/**
  *  @param	  string
  *  @return  void
  *  
  */
function grey_field(field_id) {
  document.getElementById(field_id).disabled=true;
  document.getElementById(field_id).style.background = "#EEE";
}
/**
  *  @param	  string
  *  @return  void
  *  
  */
function ungrey_field(field_id) {
  document.getElementById(field_id).disabled=false;
  document.getElementById(field_id).style.background = "#FFF";
}


/**
  *  @param	  string
  *  @return
  *  
  *  Leeren der anderen Felder im Verkaufen, abhaengig von Auktionsform
  */                                                     
function clear_other_fields(auction) {
//  alert("clear_other_fld_auction: "+auction);
  switch(auction) {
    case "gb":  //unselect_checkbox("item_modus_pr_bfn");
                unselect_checkbox("pr_public_data");
                clear_field("start_price_nl");
                clear_field("min_price");                
                clear_field("pr_price");

                break;
    case "nl":  unselect_checkbox("start_price_gb_checked"); 
                unselect_checkbox("bid_step_gb_checked"); 
                unselect_checkbox("fixprice_gb_checked"); 
                //unselect_checkbox("item_modus_pr_bfn");

                clear_field("start_price_gb");
                clear_field("bid_step_gb");
                clear_field("fixprice_gb");

                clear_field("pr_price");
                unselect_checkbox("pr_modus"); 
                unselect_checkbox("pr_public_data"); 
                break;
    case "pr":  unselect_checkbox("start_price_gb_checked"); 
                unselect_checkbox("bid_step_gb_checked"); 
                unselect_checkbox("fixprice_gb_checked"); 

                clear_field("start_price_gb");
                clear_field("bid_step_gb");
                clear_field("fixprice_gb");

                clear_field("start_price_nl");
                clear_field("min_price");
                break;

    default:    break;
    
  }

}

CheckBoxIds = new Array();

/**
* Selektiert die Checkboxen einer Selektionsliste.
* 
* @param array Ids der Checkboxen
* @return 
*/
function LISTING_selectLines(CheckBoxIds) {	
    for (var i=0; i<CheckBoxIds.length; i++) {
    	checkbox_id = CheckBoxIds[i];
        select_checkbox(checkbox_id);
    } // for
}
/**
* Deselektiert die Checkboxen einer Selektionsliste.
* 
* @param array Ids der Checkboxen
* @return 
*/
function LISTING_unselectLines(CheckBoxIds) {
    for (var i=0; i<CheckBoxIds.length; i++) {
    	checkbox_id = CheckBoxIds[i];
        unselect_checkbox(checkbox_id);
    } // for	
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
var normal1Class        = "result_line_dark";
var normal2Class        = "result_line_bright";

var over1Class          = "result_line_over1";
var over2Class          = "result_line_over2";

var overSelected1Class   = "result_line_highlighted1";
var overSelected2Class   = "result_line_highlighted2";

var selected1Class       = "result_line_selected1";
var selected2Class       = "result_line_selected2";

function tr_over(object){

  switch (object.className) {
    case normal1Class:
      object.className=over1Class;
    break;

    case normal2Class:
      object.className=over2Class;
    break;

    case selected1Class:
      object.className=overSelected1Class;
    break;

    case selected2Class:
      object.className=overSelected2Class;
    break;

    default:
//      object.className=normal1Class;
    break;
  }
}

function tr_out(object){

  switch (object.className) {
    case over1Class:
      object.className=normal1Class;
    break;

    case over2Class:
      object.className=normal2Class;
    break;

    case overSelected1Class:
      object.className=selected1Class;
    break;

    case overSelected2Class:
      object.className=selected2Class;
    break;

    default:
//      object.className=normal1Class;
    break;
  }

}
function tr_click(object){

  var max     = object.childNodes.length;
  var counter = 0;

  while (object.childNodes[counter].nodeName!="TD" && counter <= max) {
    counter++;
  }

  var child_td    = object.childNodes[counter];
  
        
  if (child_td.childNodes[0] && child_td.childNodes[0].type == "checkbox") {
      var child_input = child_td.childNodes[0];
  } else if (child_td.childNodes[1] && child_td.childNodes[1].type == "checkbox") {
      var child_input = child_td.childNodes[1];  	
  }
  
  switch (object.className) {
    case over1Class:
      object.className    = overSelected1Class;
      if (child_input) {
          child_input.checked = true;
      }
    break;

    case over2Class:  
      object.className    = overSelected2Class;
      if (child_input) {      
          child_input.checked = true;
      }
    break;

    case overSelected1Class:
      object.className    = over1Class;
      if (child_input) {      
          child_input.checked = false;
      }
    break;

    case overSelected2Class:
      object.className    = over2Class;
      if (child_input) {      
          child_input.checked = false;
      }
    break;

    default:
//alert("default");    
    //  object.className=normal1Class;
    //child_input.checked = true;
    break;
  }
}

function tr_clear(object_id){	
  object = document.getElementById(object_id);
//alert("class: "+object.className);       
  switch (object.className) {
    case selected1Class:
      document.getElementById(object_id).className    = normal1Class;
      //child_input.checked = false;
    break;

    case selected2Class:
      document.getElementById(object_id).className    = normal2Class;
      //child_input.checked = false;
    break;

    default:
//      object.className=normal1Class;
    break;
  }	
}	

//<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


/***************************************************/
/*********** Kontextmenuefunktionen ****************/
/***************************************************/

/*******************************************************************************************
 * Fuer die folgenden Funktionen (fuer das Kontextmenue) wurde Typo3 als Vorbild genommen. *
 *******************************************************************************************/

				var GLV_gap=10;
				var GLV_curLayerX=new Array(0,0);
				var GLV_curLayerY=new Array(0,0);
				var GLV_curLayerWidth=new Array(0,0);
				var GLV_curLayerHeight=new Array(0,0);
				var GLV_isVisible=new Array(0,0);
				var GLV_x=0;
				var GLV_y=0;
				var GLV_xRel=0;
				var GLV_yRel=0;
				var layerObj=new Array();
				var layerObjCss=new Array();

					//browsercheck...
				function GL_checkBrowser(){	//
					this.dom= (document.getElementById);
					this.op=  (navigator.userAgent.indexOf("Opera")>-1);
					this.op7=  this.op && (navigator.appVersion.indexOf("7")>-1);  // check for Opera version 7
					this.konq=  (navigator.userAgent.indexOf("Konq")>-1);
					this.ie4= (document.all && !this.dom && !this.op && !this.konq);
					this.ie5= (document.all && this.dom && !this.op && !this.konq);
					this.ns4= (document.layers && !this.dom && !this.konq);
					this.ns5= (!document.all && this.dom && !this.op && !this.konq);
					this.ns6= (this.ns5);
					this.bw=  (this.ie4 || this.ie5 || this.ns4 || this.ns6 || this.op || this.konq);
					return this;
				}
				bw= new GL_checkBrowser();

//alert("\nop: "+bw.op+"\nop7: "+bw.op7+"\nkonq: "+bw.konq+"\nie4: "+bw.ie4+"\nie5: "+bw.ie5+"\nns4: "+bw.ns4+"\nns5: "+bw.ns5+"\nns6: "+bw.ns6);


					// GL_getObj(obj)
				function GL_getObj(obj){	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;

// alert("obj: "+obj); 

					nest="";
					this.el= (bw.ie4||bw.op7)?document.all[obj]:bw.ns4?eval(nest+"document."+obj):document.getElementById(obj);
//ur-->
if(this.el){
//ur<--
			   	this.css= bw.ns4?this.el:this.el.style;
					this.ref= bw.ns4?this.el.document:document;
					this.x= (bw.ns4||bw.op)?this.css.left:this.el.offsetLeft;
					this.y= (bw.ns4||bw.op)?this.css.top:this.el.offsetTop;
					this.height= (bw.ie4||bw.dom)?this.el.offsetHeight:bw.ns4?this.ref.height:0;
					this.width= (bw.ie4||bw.dom)?this.el.offsetWidth:bw.ns4?this.ref.width:0;
					return this;
//ur-->
} else {
  return false;  
}
//ur<--
				}
					// GL_getObjCss(obj)
				function GL_getObjCss(obj){	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;
				
					
					return bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?document.layers[obj]:0;
				}
					// GL_getMouse(event)
				function GL_getMouse(event) {	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;
				
					if (layerObj)	{

						GLV_xRel = event.clientX-2;
						GLV_yRel = event.clientY-2;
						GLV_x = GLV_xRel + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
						GLV_y = GLV_yRel + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);

//						status = (GLV_x+GLV_gap-GLV_curLayerX[0]) + " | " + (GLV_y+GLV_gap-GLV_curLayerY[0]);

					  if (GLV_isVisible[1])	{
					  	if (outsideLayer(1))	hideSpecific(1);
					  } else if (GLV_isVisible[0])	{
					  	if (outsideLayer(0))	hideSpecific(0);
					  }
					}


				}
					// outsideLayer(level)
				function outsideLayer(level)	{	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;
				
					return GLV_x+GLV_gap-GLV_curLayerX[level] <0 ||
							GLV_y+GLV_gap-GLV_curLayerY[level] <0 ||
							GLV_curLayerX[level]+GLV_curLayerWidth[level]+GLV_gap-GLV_x <0 ||
							GLV_curLayerY[level]+GLV_curLayerHeight[level]+GLV_gap-GLV_y <0;
				}
					// setLayerObj(html,level)
				function setLayerObj(html,level)	{	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;
				
					var winHeight = document.documentElement.clientHeight && !bw.op7 ? document.documentElement.clientHeight : document.body.clientHeight;
					var winWidth = document.documentElement.clientWidth && !bw.op7 ? document.documentElement.clientWidth : document.body.clientWidth;
					var tempLayerObj = GL_getObj("contentMenu"+level);
					var tempLayerObjCss = GL_getObjCss("contentMenu"+level);

					if (tempLayerObj && (level==0 || GLV_isVisible[level-1]))	{
						tempLayerObj.el.innerHTML = html;
						tempLayerObj.width= (bw.ie4||bw.dom)?this.el.offsetWidth:bw.ns4?this.ref.width:0;
						tempLayerObj.height= (bw.ie4||bw.dom)?this.el.offsetHeight:bw.ns4?this.ref.height:0;

							// konqueror (3.2.2) workaround
						winHeight = (bw.konq)?window.innerHeight:winHeight;
						winWidth = (bw.konq)?window.innerWidth:winWidth;

							// Adjusting the Y-height of the layer to fit it into the window frame if it goes under the window frame in the bottom:
						if (winHeight-tempLayerObj.height < GLV_yRel)	{
							if (GLV_yRel < tempLayerObj.height) {
								GLV_y+= (winHeight-tempLayerObj.height-GLV_yRel); 		// Setting it so bottom is just above window height.
							} else {
								GLV_y-= tempLayerObj.height-8; 		// Showing the menu upwards
							}
						}
							// Adjusting the X position like Y above
						if (winWidth-tempLayerObj.width < GLV_xRel)	{
							if (GLV_xRel < tempLayerObj.width) {
								GLV_x+= (winWidth-tempLayerObj.width-GLV_xRel);
							} else {
								GLV_x-= tempLayerObj.width-8;
							}
						}
						GLV_x = Math.max(GLV_x,1);
						GLV_y = Math.max(GLV_y,1);

						GLV_curLayerX[level] = GLV_x;
						GLV_curLayerY[level] = GLV_y;
						tempLayerObjCss.left = GLV_x+"px";
						tempLayerObjCss.top = GLV_y+"px";
						tempLayerObjCss.visibility = "visible";
						if (bw.ie5)	showHideSelectorBoxes("hidden");

						GLV_isVisible[level]=1;
						GLV_curLayerWidth[level] = tempLayerObj.width;
						GLV_curLayerHeight[level] = tempLayerObj.height;
					}

				}
					// hideEmpty()
				function hideEmpty()	{	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;
				
					hideSpecific(0);
					hideSpecific(1);
					return false;
				}
					// hideSpecific(level)
				function hideSpecific(level)	{	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;
				
  				GL_getObjCss("contentMenu"+level).visibility = "hidden";
  				GL_getObj("contentMenu"+level).el.innerHTML = "";
  				GLV_isVisible[level]=0;

				if (bw.ie5 && level==0)	showHideSelectorBoxes("visible");
				}
					// debugObj(obj,name)
				function debugObj(obj,name)	{	//
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;
				
					var acc;
					for (i in obj) {if (obj[i])	{acc+=i+":  "+obj[i]+"\n";}}
					alert("Object: "+name+"\n\n"+acc);
				}



				function context_init(){	//
				
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;

					
					if (document.all)   {
						window.onmousemove=GL_getMouse;
					}
					layerObj = GL_getObj("contentMenu0");
//ur-->
if(layerObj){
} else {
//	alert("layerObj==false");
  return false;  
}
//ur<--
					
					layerObjCss = GL_getObjCss("contentMenu0");
				}


/****************************************************************************************
 * Das erstellen des Kontextmenues wird von PHP uebernommen.                            *
 * Damit muss hier nur vom uebergebenen Index der Inhalt eines Arrays verwendet werden. *
 ****************************************************************************************/

function context_menu(html) {
//ur: Hagelt im IE6 nur Fehler, also erstmal abschalten
return false;

//  alert(Actions[1][0]);

//var Aktionen = new Array();
//  Aktionen[0]='<table><tr><td><a href="#" onclick="hide_menue();">Ich bin ein Kontextmen�!</a></td></tr><tr><td><a href="#" onclick="hide_menue();">Ich bin auch ein Kontextmen�!</a></td></tr></table>';

  setLayerObj(html,0);

  var level=0;
  var tempLayerObj = GL_getObj("contentMenu"+level);
  GLV_curLayerWidth[level] = tempLayerObj.width;
  GLV_curLayerHeight[level] = tempLayerObj.height;

 // status = GLV_curLayerWidth + " | " + GLV_curLayerHeight;
 // alert(status);


}

Actions = new Array();

/*********************
 * Ende Kontextmenue *
 *********************/




/***************************************/




function print_debug(string){

  if(CFG_DEBUG){
    var DIV = document.createElement("div");
    var myText = document.createTextNode(string);
    DIV.appendChild(myText);
    var Ausgabebereich = document.getElementById("debug_console");
    Ausgabebereich.appendChild(DIV);

  }

}


