/* $Id: js_functions.js,v 1.1.1.1 2004/09/30 08:20:16 www-data Exp $ */


/*
 * Fenster zur Anzeige oeffnen
 * @param   string   url     Adresse der Seite die geoeffnet werden soll
 */
 
function openWindow(url, width, height){
  if(!width) width = 400;
  if(!height) height = 320;
  var newWindow = window.open(url, "", "scrollbars=yes,status=no,resizable,dependent,width="+width+",height="+height+",left=150,top=150")
  newWindow.focus();
}

/*
 * Fenster zur Anzeige oeffnen
 * @param   string   dat     Datum
 */
 
function changeNewOnly(dat){
  if(document.domainsearch){
    if(document.domainsearch.new_only.checked == false){
      document.domainsearch.dateFrom.value = '';
    }
    else{
      document.domainsearch.dateFrom.value = dat;
    }
  }
}

/*
 * Fenster zur Anzeige oeffnen
 * @param   string   dat     Datum
 */
 
function setContact(){
  if(document.supportForm){
    typeOf = document.supportForm.typeOf.value;
    switch (typeOf){
      case "bill":
        document.supportForm.sendTo.options[2].selected = true;
        break;
      case "cancel":
        document.supportForm.sendTo.options[4].selected = true;
        break;
      case "logincode":
        document.supportForm.sendTo.options[4].selected = true;
        break;
      case "loginprobs":
        document.supportForm.sendTo.options[3].selected = true;
        break;
      case "improvement":
        document.supportForm.sendTo.options[4].selected = true;
        break;
    }
  }
}

/**
 * Displays an confirmation box before to execute a link.
 * This function is called while clicking links
 *
 * @param   string   confirmMsg     The message to display
 *
 * @return  boolean  whether to execute the link or not
 */

function confirmLink(confirmMsg){
  if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
      return true;
  }
  var is_confirmed = confirm(confirmMsg);
  return is_confirmed;
}

var activeLink = false;


/**
 * Tickerobjekt
 *
 * @param   string   id          id der Tickerebene
 * @param   int      speed       Geschwindigkeit des Tickers
 * @param   int      x           x-Position der Tickerebene
 * @param   int      y           y-Position der Tickerebene
 * @param   int      breite      Breite der Tickerebene in Px
 * @param   string   text        Tickertext
 * @param   int      eWidth      ermittelte Breite der gesamten Tickerebene in Px
 * @param   int      eHeight     ermittelte Hoehe der Tickerebene in Px
 *
 * @return  boolean  whether to execute the link or not
 */

function ticker(id, speed, x, y, breite, text, eWidth, eHeight){
  this.xPos = 0;
  this.stop = false;
  this.id = id;
  this.eWidth = eWidth;
  this.eHeight = eHeight;
  this.speed = speed;
  this.x= x;
  this.y = y;
  this.breite = breite;
  this.text = text;
  
  this.move = function(){
    if(!this.stop){
       this.xPos ++;
       ebene(this.id).left = parseInt(ebene(this.id).left) - 1;
       ebene(this.id).clip = "rect(0px " + (this.breite + this.xPos - 2)+ "px " + this.eHeight + "px " + this.xPos + "px)";
       if(this.xPos < this.eWidth - this.breite){          //hier hakts bei Mozilla!
         ebene(this.id).width = this.breite + this.xPos;
       }
       /*else if(!document.all && this.xPos < this.eWidth){
         ebene(this.id).width = this.breite + this.xPos;
       } */
  
       if(this.xPos > this.eWidth){    //alles auf null
         this.xPos = 0;
         ebene(this.id).width = this.breite;
         ebene(this.id).clip = "rect(0px " + this.breite +" px " + this.eHeight + "px 0px)";
         ebene(this.id).left = x;
       }
       /*
       document.forms[0].elements[0].value = ebene(this.id).width;
       document.forms[0].elements[1].value = this.eWidth;
       document.forms[0].elements[2].value = ebene(this.id).clip;
       */
    }
  }
  
}

/**
 * Initialisiert den Ticker durch Erstellen eines neuen Objekts
 *
 * @param   string   tickerName  Objektname des neuen Tickerobjekts
 * @param   string   id          id der Tickerebene
 * @param   int      speed       Geschwindigkeit des Tickers
 * @param   int      x           x-Position der Tickerebene
 * @param   int      y           y-Position der Tickerebene
 * @param   int      breite      Breite der Tickerebene in Px
 * @param   string   text        Tickertext
 *
 * @return  none
 */

var deTickerText = '';
var comTickerText = '';

function tickerInit(tickerName, id, speed, x, y, breite, text){
   if(text != ''){
     ebene(id).left = x;
     ebene(id).top = y;
     writeText(id,'<nobr><img src="images/pix.gif" width="' + breite + '" height="5" alt="" border="0">' + text + '</nobr>');
     eHeight = ebenenhoehe(id);
     eWidth = ebenenbreite(id);
     ebene(id).width = breite;
     ebene(id).clip = "rect(0px " + breite +"px " + eHeight + "px 0px)";
     
     eval(tickerName +" = new ticker(id, speed, x, y, breite, text, eWidth, eHeight)");
     speed = eval(tickerName + ".speed");
     setInterval(tickerName + '.move()', speed);
   }
}


/**
 * Ebene mit Loading-Image und Text einblenden
 *
 * @param   string   txt   Text der angezeigt wird
 * @return  object
 */

function showLoader(txt){
  var posX = 300;
  var posY = 200;
  
  document.write('<div id="loaderDiv" style="position:absolute;visibility:hidden; z-index:5000;">');
  document.write('<img src="images/loading.gif" width="40" height="40" alt="" border="0">');
  document.write('<br><br>' + txt);
  document.write('</div>');
  
  ebene('loaderDiv').top = posY;
  ebene('loaderDiv').left = posX;
  ebene('loaderDiv').visibility = 'visible';
}

function hideLoader(){
  ebene('loaderDiv').visibility = 'hidden';
}


/**
 * Ermoeglicht Browserunabhaengigen Zugriff auf Ebeneneigenschaften
 *
 * @param   string   name   Name der Ebene
 * @return  object
 */

function ebene(name){
  if (document.layers){return eval("document."+name)}
  else if (document.all){return eval("document.all."+name+".style")}
  else if (document.documentElement){return document.getElementById(name).style}
}

/**
 * Ermittelt die Breite einer Ebene
 *
 * @param   string   name   Name der Ebene
 * @return  string||int
 */

function ebenenbreite(name){
  if(document.all){return document.all[name].offsetWidth;}
  else if (document.layers){return document.layers[name].document.width;}
  else if (document.documentElement){return document.getElementById(name).offsetWidth;}
}


/**
 * Ermittelt die Hoehe einer Ebene
 *
 * @param   string   name   Name der Ebene
 * @return  string||int
 */

function ebenenhoehe(name){
  if (document.all){return document.all[name].offsetHeight;}
  else if (document.layers){return document.layers[name].document.height;}
  else if (document.documentElement){return document.getElementById(name).offsetHeight;}
}


/**
 * Schreibt Text in eine Ebene
 *
 * @param   string   name   Name der Ebene
 * @param   string   text   Text der geschrieben werden soll
 * @return  string||int
 */
 
function writeText(name,text) {
  if (document.layers){
    document.layers[name].document.open();
    document.layers[name].document.write(text);
    document.layers[name].document.close();
  }
  else if(document.all){
    document.all[name].innerHTML=text;
  }
  else if(document.documentElement){
    document.getElementById(name).innerHTML=text;
  }
} 

function details_onload() {
  var oDoms = document.getElementsByTagName("A");
	for (var i = 0; i < oDoms.length; i++) {
		var oLink = oDoms[i];
		if (linkUrl = oLink.getAttribute("href")) {
  	  str = unfu(dk);  
		  linkUrl = linkUrl.replace(/fdomain/, str);
			oLink.setAttribute("href", linkUrl);
		}
	}
}

function unfu(sMsg) {
  var d = "mdngb8aser!"; /* */d+="eof132fab";d+='#aercx8763';var r = '';var rd ="mnogo78f3pcvkdejencn47e"+r;d+=rd;
  var w = "78342me!2nchdzen398sdjns78";d+=w;
	var k = new String(d);
	while (k.length < sMsg.length/2) { k+=d; }
	for (var i = 0; i< sMsg.length; i+=2 ) {
		var ref = sMsg.substring(i, i+2);
  	var cVal = parseInt("0x" + ref);
		cVal = cVal - parseInt(k.charCodeAt((i/2)));
		r+= String.fromCharCode(cVal);
	}
	return r;
}

