// ajax.js
//
/*********************************************
* Ajax-Funktionen fuer Suchfeld, Newsletter u.a.
***********************************************
* Version:     1.0
* Datum:       11.09.2007
* 	Aenderungen:	Beschreibung:
*   	21.10.2008  	UTF-8 in Zeile 52 und 127 eingefuegt
*	30.05.2009 	Zeile 181  Korrektur Fenster Trainerformular
*
************************************************/
function openAlert(txt){
         Dialog.alert(txt,
             {windowParameters: {className: "alphacube",
                                 title: "Fehler bei der Eingabe!",
                                 width:300
                                },
                                okLabel: "OK",
                                ok:function(win)
                                {return true;}});
       }

function openInfo(txt){
         Dialog.alert(txt,
             {windowParameters: {className: "alphacube",
                                width:300,
                                title: "Info"
                                },
                                okLabel: "OK",
                                ok:function(win)
                                {return true;}});
       }
// Suchfeld
    var wert_global = "";
    var text = '';
    var textteile = new Array();
    var teil='';
//Vorschlaege zur Eingabe vom Server holen
suggest = function (wert) {
      wert_global = wert;
//Events Ueberwachung

      //$('suchfeld').focus();
// AjaxObjekt kommt jetzt aus prototype.js ins spiel
/**********************************************/

        var myAjax = new Ajax.Request(
            "suggest.php",
            {
                contentType: 'application/x-www-form-urlencoded',
                encoding: 'UTF-8',
                method: 'get',
                parameters: "q="+wert,
                onComplete: putDataSearch
            }
            )
}

// Rueckgabe vom Server im Ausgabe-DIV anzeigen
putDataSearch = function( originalRequest ) {
var ausgabe = '';
 text= '';
      if (originalRequest) {
        text = originalRequest.responseText;
         if (text != "") {
          textteile = text.split("#");
//alert (textteile);
          for (i=0; i<textteile.length ; i++ ) {
               teil = textteile[i];
ausgabe += "<a style='font-weight : 100' href='javascript:wert(\"" + teil;
            ausgabe += "\")' id='" + teil + "' class='ergebnis' onmouseover='wert_mark(\""+teil+"\")' onClick='closeDiv()'>";
            ausgabe += textteile[i] + "</a>";
          }
//alert (ausgabe);
          $('ausgabe').innerHTML = ausgabe;
      }
          if (ausgabe != "") {
             $('ausgabe').style.visibility = "visible";
          } else {
            closeDiv();
          }
     }
}
//Begriff ins Eingabefeld setzen
wert = function(teil) {
       if (teil != null && teil != "") {
         var suchfeld = $('suchfeld');
         suchfeld.value = teil;
         suchfeld.focus();
       }
    }
// Anzeige bei onmouseover im Eingabefeld vervollstaendigen
wert_mark = function (teil) {
       if (teil != null && teil != "") {
         var suchfeld = $('suchfeld');
         var start = wert_global.length;
         var laenge = teil.length;
         suchfeld.value = teil;
         if (suchfeld.createTextRange) {
           var Auswahl = suchfeld.createTextRange();
           Auswahl.moveStart("character", start);
           Auswahl.moveEnd("character", laenge - start);
           Auswahl.select();
         } else if (suchfeld.setSelectionRange) {
           suchfeld.setSelectionRange(start, laenge);
         }
         suchfeld.focus();
       }
    }
// Textfeld DIV schliessen
closeDiv = function () {
          $('ausgabe').style.visibility = "hidden";
          $('ausgabe').innerHTML = "";
           return
}
//Begriff an server senden und URL holen
searchUrl = function () {
            var val = $('suchfeld').value;
            var param = (Browser.IE)?1 : 0;
            //alert(param);
           // val = encryptTextData(val); //entfaellt da UTF8
            if(val !="") {
               var myAjax = new Ajax.Request(
                "search.php?p="+param,
                {
                contentType: 'application/x-www-form-urlencoded',
                encoding: 'UTF-8',
                method: 'get',
                parameters: "q="+val,
                onComplete: getDataSearch
                }
               )
            }

       $('suchfeld').value= "";
       return
}
// Rueckgabe (URL) uebernehmen und URL laden
getDataSearch = function (originalRequest) {
          var strUrl = '';
          if (originalRequest) {
              strUrl = originalRequest.responseText;
             // alert ("Server sendet: "+strUrl);
              if(strUrl!="") {
                window.location.href = strUrl;
              } else {
                openAlert ('Sorry, der Suchbegriff ist nicht vorhanden!');
              }
          }
 return
}
/*********************************************************************/
//Fenster Foto Trainer
openWin = function(theme,titel,i){
var t = "Trainer"+titel
var cov = new Window(m_id++, {className: theme,
                              width:400,
                              height:520,
                              zIndex: 100,
                              resizable: true,
                              title: t,
                              showEffect:Effect.BlindDown,
                              draggable:true
                              }
                    );
          cov.getContent().innerHTML= "<div id='output'>"+img[i]+"</div>";
          fadeBack();
          cov.showCenter();
}
/*********************************************************************/
// Fenster fuer Leistungen oeffnen
m_id = 0; // ID fuer Fenster
openUrlLstg = function(url,titel){
var h = 0;//height Windows
var reg = /\.php/;
var t = (titel)? titel : "Trainings / Leistungen";
var URL = (reg.test(url))? url: url+".html";
var w =(Browser.IE)? 490:470;
if(t == "Trainings / Leistungen") {
	 h =(Browser.IE)? 670:700;
} else {
 	h =(Browser.IE)? 400:400;
}

var win = new Window(m_id++, {className:'alphacube',width:w, height:h, zIndex:100, resizable:true, title: t, showEffect:Effect.BlindDown,draggable:true, url: URL})
         if(titel) {fadeBack();}
         win.showCenter();
       }
/*********************************************************************/
// Fenster fuer Newsletter oeffnen
m_id = 0; // ID fuer Fenster
openUrlNews = function(){
var w =(Browser.IE)? 450:410;
var h =(Browser.IE)? 230:200;
         var win = new Window(m_id++, {className:'alphacube',width:w, height:h, zIndex:100, resizable:true, title:"Newsletter abonnieren", showEffect:Effect.BlindDown,hideEffect: Effect.SwitchOff,  draggable:true, url: "newsletter.html"});
         fadeBack();
         win.showCenter();
       }
// Fenster fuer Login oeffnen
m_id = 0; // ID fuer Fenster
openUrlLogin = function(){
var w =(Browser.IE)? 430:410;
var h =(Browser.IE)? 200:160;
         var win = new Window(m_id++, {className:'alphacube',width:w, height:h, zIndex:100, resizable:true, title:"Login", showEffect:Effect.BlindDown,hideEffect: Effect.SwitchOff,  draggable:true, url: "login.html"});
         fadeBack();
         win.showCenter();
       }
//Ajax abfrage fuer aktuelles
// @param url string - Name Textdatei
getDataNews = function(url) {
          var myAjax = new Ajax.Request(
            "getNews.php",
            {   contentType: 'application/x-www-form-urlencoded',
                encoding: 'UTF8',
                method: 'get',
                parameters: "file="+url,
                onComplete: putDataNews
            }
  )
//alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');

}
// Text in Layer aktuelles eintragen
putDataNews = function( originalRequest ) {
          $('output').innerHTML = originalRequest.responseText;
          }
/****************************************************************/
// weitere Infos anzeigen
// @param url String -
// @param t String - Titel
getInfo = function (url,t) {
          var title = (t)? t:'Weitere Informationen' ;
           openWindow('alphacube',title,-1);
if($('banner')) {
$('banner').style.visibility="hidden" ;
}
           getDataNews(url);
          }
// aktuelles anzeigen
getNews = function (url) {
           openWindow('alphacube','Aktuelles',-1);
if($('banner')) {
$('banner').style.visibility="hidden";
}

           getDataNews(url);
          }
// nach schliessen des Fensters DIV 'banner' wieder anzeigen
// sihe window.js Zeile 781
/****************************************************************/
// Fenster fuer aktuelles und Infos
// @param theme string - ClassName
// @param titel string - Titelkopf
// @param i int - Array-Index von info[]
openWindow = function(theme,titel,i){
var ypos, xpos;
var strDiv=(titel=="Aktuelles")?"<div id='output'></div><div id='wininfo'></div>":"<div id='output'>";
var h=((titel=='Weitere Informationen')&& (i<0))? 520:(titel=='Die Bausteine')?200:450;
var b=450;
var win = new Window(m_id++, {className: theme,  width:b, height:h, zIndex: 100, resizable: true, title: titel, showEffect:Effect.BlindDown,  draggable:true});
// hoehe fenster ermitteln
ypos = win.height-65;
xpos = (win.width/2)-84;

// pruefen ob Array-Inhalt oder aktuelles angezeigt werden soll
if(i> -1) {
//Fenster fuer Info &ouml;ffnen
win.getContent().innerHTML= "<div id='info'>"+info[i]+"</div><div id='wininfo'></div>";
}else{
//Fenster fuer Aktuelles oeffnen
win.getContent().innerHTML= strDiv;
}
//Logo neu positionieren
if($('wininfo')) {
ypos = win.height-85;
xpos = (win.width/2)-84;
$('wininfo').style.top = ypos+'px';
$('wininfo').style.left = xpos+'px';
}
fadeBack();
// Fenster anzeigen
win.showCenter();
}
// Hintergrund abdecken - wie hoch ist denn die Seite
fadeBack =function () {
          //Zeile 1150 und 1107 window.js
          WindowUtilities.initLightbox("h","alphacube");
          WindowUtilities.disableScreen("alphacube","h","homepage");
/*
var hoehe= $('homepage').offsetHeight;
var weite=(Browser.IE)?document.body.offsetWidth : window.innerWidth;
          //Div fade auf hoehe bringen und anzeigen
          //Div fade wird in window.js in der Funktion win.close()Zeile 782
          // wieder verkleinert und versteckt
          $('fade').style.height ='' + (hoehe + 40) + 'px';
          $('fade').style.width =(weite + 20)+ 'px';
          $('fade').style.visibility="visible" ;
*/
}
/********Umlaute codieren**************************************/
encryptTextData =  function(txt){
 txt = escape(txt);
              txt = txt.replace(/%E4/g, "%X0;");
                txt = txt.replace(/%F6/g, "%X1;");
                txt = txt.replace(/%FC/g, "%X2;");
                txt = txt.replace(/%C4/g, "%X3;");
                txt = txt.replace(/%D6/g, "%X4;");
                txt = txt.replace(/%DC/g, "%X5;");
                txt = txt.replace(/%DF/g, "%X6;");//&szlig;
               //alert ("Gesucht wird nach:"+txt);
                return(txt);
                };
/*************************************************************/
//Eingabetasten ueberwachen - bei Enter (Code 13) URL suchen
 keyup = function(e) {
 var val = $('suchfeld').value;
 var Tastencode = null;
  if (!e)
    e = window.event;
  if (e.which) {
    Tastencode = e.which;
  } else if (e.keyCode) {
     Tastencode = e.keyCode;
  }
if(val!=="" && val!="Suchbegriff eingeben" && Tastencode==13) {
searchUrl();
}
}
//Event anmelden
document.onkeyup = keyup;