//Variablen
var reloadUserliste = 200;
var reloadTicker = 10;
var reloadUsermsg = 20;
var reloadBuddys = 20;
var reloadShortMsg = 20;
var msgSet = 0;
var loginPars;
var standardTitle = 'Emotion is your key...';
// Seitendefinitionen
function convert(txt)
{
  txt = txt.replace(/%20/g, ' ');
  txt = txt.replace(/Userprofil_(.*?)_(.*?)/g, "Userprofil von $2");
  txt = txt.replace(/Posteingang_(.*?)/g, "Posteingang");
  txt = txt.replace(/Ergebnisse_(.*?)/g, "");
  
  return txt;
}
function getUrl(url)
{
  var e = 0;
  url = url.replace(/%20/g,' ');
  url = url.replace(/%C3%A4/g,'&auml;');
  url = url.replace(/&auml;/g,'&auml;');
  i = url.split('_');

  if(url.match(/Contest_/g))
  {
    initPage(i[1],'attitudes.php?nav=contest');
  } else if(url.match(/Nachricht_/g))
  {
    initPage('Neue Nachricht schreiben','user.php?nav=writemsg&id='+i[1])
  } else if(url.match(/addBuddy_/g))
  {
    initPage('User als Buddy adden','user.php?nav=addbuddy&id='+i[1])
  } else if(url.match(/banUser_/g))
  {
    initPage('User bannen','user.php?nav=banuser&id='+i[1])
  } else if(url.match(/Postausgang_/g))
  {
    initPage('Lade Nachricht','nachrichten.php?nav=showsended&id='+i[1]);
  } else if(url.match(/Posteingang_/g))
  {
    initPage('Lade Nachricht','nachrichten.php?nav=show&id='+i[1]);
  } else if(url.match(/Userprofil/g) && i[2]) {
    hideProfile();
    e = i[0]+' von '+i[2];
    if(url.match(/_Chat/g)) initPage(i[0]+' von '+i[2],'user.php?nav=profile&id='+i[1],'',1);
    else                    initPage(i[0]+' von '+i[2],'user.php?nav=profile&id='+i[1]);
  } else if(url.match(/Userprofil/g)) {
    hideProfile();
    i = url.split('_');
    initPage(i[0],'user.php?nav=profile&id='+i[1]);
  } else if(url=='Posteingang')
    initPage(url,'nachrichten.php');
  else if(url=='Postausgang')
    initPage(url,'nachrichten.php?nav=postausgang');
  else if(url=='Buddy/Bannliste' || url=='Buddyliste')
    initPage(url,'buddys.php');
  else if(url.match(/Usersuche - Ergebnisse_/g))
  {
    if(!url.match(/&sortDesc=/g)) sortby = '';
    else {
      sortby = url.replace(/(.*?)&sortDesc=(.*?)/g, "$2");
      sortby = sortby.replace(/\d/g,'');
      sortby = ' nach <b>'+sortby.replace(/(.*?)&page=(.*?)/g, '$1')+'</b>';
    } 
    
    initPage('Sortiere Suchergebnisse'+sortby,'usersuche.php?nav=detailsuche&'+i[1]);
  } else if(url=='Usersuche')
    initPage(url,'usersuche.php');
  else if(url=='mein Account')
    initPage(url,'user.php?nav=lobby');
  else if(url=='Freunde einladen')
    initPage(url,'user.php?nav=invite');
  else if(url=='Startseite Login')
    initPage('Startseite Login','start.php?nav=pers');
  else if(url=='Startseite')
    initPage(url,'start.php');
  else if(url=='ErrorLogin')
    initPage('Loginfehler','global.php?nav=errorlogin');
  else if(url=='Bannliste')
    initPage(url,'buddys.php?nav=banned');
  else if(url=='blockierte Anfragen')
    initPage(url,'buddys.php?nav=wanted');
  else if(url=='Impressum/AGBs')
    initPage(url,'impressum.php');
  else if(url=='Partner')
    initPage(url,'partner.php');
  else if(url.match(/HotorNot_Rangliste/g))
  {
    if(i[2] == 'male') r = 'M&auml;nner';
    else               r = 'Frauen';
  
    initPage('Hot or Not - Rangliste '+r+' <b>Seite '+i[3]+'</b>','hon.php?nav=list&'+i[2]+'&page='+i[3]);
  }
  else if(url.match(/HotorNot_/g))
  {
    if(i[1] == 'female') w = 'Frauen';
    else if(i[1] == 'male') w = 'M&auml;nner';
    else w = 'M&auml;nner und Frauen';
    
    initPage('Hot or Not - '+w,'hon.php?'+i[1]);
  } else if(url=='Profil editieren')
    initPage(url,'user.php?nav=edit');
  else if(url=='Identity')
    initPage('Identit&auml;t best&auml;tigen','user.php?nav=real');
  else if(url=='Kurzprofil')
    initPage(url,'user.php?nav=shortProfile');
  else if(url=='Einstellungen')
    initPage(url,'attitudes.php');
  else if(url=='Mitgliedschaft beenden')
    initPage(url,'user.php?nav=quit');
  else if(url=='Topliste')
    initPage(url,'topliste.php');
  else if(url.match(/Topliste_/g))
  {
    initPage('Topliste - '+i[1]+' <b>Seite '+i[2]+'</b>','topliste.php?type='+i[1]+'&page='+i[2]);
  }
  else if(url=='Registrierung')
    initPage(url,'start.php?nav=registration');
  else if(url=='Loginform')
    initPage(url,'start.php?nav=login');
  else if(url=='Passwort vergessen')
    initPage(url,'start.php?nav=lostpwd');
  else if(url=='Neue Tickernachricht')
    initPage(url,'services.php?nav=ticker');
  else if(url=='Userverwaltung')
    initPage('<b>Admin:</b> '+url,'admin.php?nav=user');
  else if(url=='Systemnachricht')
    initPage('<b>Admin:</b> '+url,'admin.php?nav=sysmsg');
  else if(url=='Tickernachricht')
    initPage('<b>Admin:</b> '+url,'admin.php?nav=ticker');
    
  
  if(!i[0].match(/Startseite/g)) document.title = convert((e==0)?i[0]:e)+ ' - ' + standardTitle;
  else document.title = standardTitle;
}
//Content loeschen
function clearContent()
{
  var obj = $('pageContent');
      obj.innerHTML = '';
}
//Ladepunkte ausgeben
function loadContent(msg,p)
{
  var obj = $('pageContent');

  if(obj.innerHTML.match(/loading.gif/g) || obj.innerHTML == '')
  {
    if(!p)              p = '...';
    else if(p == '.')   p = '..';
    else if(p == '..')  p = '...';
    else if(p == '...') p = '.';
  
    var loading = "<div align=\"left\"><br>&nbsp;<img src=\"gfx/loading.gif\" alt=\"\" valign=\"middle\"> "+msg+p+"</div>";
  
	  obj.innerHTML = loading;

    timeLoad = setTimeout("loadContent('"+msg+"', '"+p+"')", 500);
  } else {
    clearTimeout(timeLoad);
  }
}
//LoadMsg ausgeben
function loadMsg(br,msg,what)
{
  if(what) divID = what;
  else     divID = 'pageContent';

  if(br == 1) breakable = '<br>';
  else        breakable= '';
  
  var loading = "<div align=\"left\">"+breakable+"&nbsp;<img src=\"gfx/loading.gif\" alt=\"\" valign=\"middle\"> "+msg+"</div>";
  obj = $(divID);
	obj.innerHTML = loading;
}
//Counter
function count(msg,sek,l)
{  
  if(sek == 0)
  {
    initStartLogin();

    if(l) setLocation('Startseite Login');
    else  setLocation('Startseite');
  } else {
    timeout = setTimeout("count('"+msg+"',"+(sek-1)+","+l+")", 1000);
  }
  
  if(sek != 1) var sEnd = 'n';
  else         var sEnd = '';
  
  if(sek != 0)
  {
    var loading = "<div align=\"left\"><br><img src=\"gfx/loading.gif\" alt=\"\" valign=\"middle\"> "+msg+" "+sek+" Sekunde"+sEnd+"</div>";
    obj = $('pageContent');
	  obj.innerHTML = loading;
  }
}
//Location aendern
function setLocation(add,chat)
{
  if(chat == 1) bck = '../';
  else          bck = '';
  
  this.location.href = bck+'sLife#'+add;
}
//Startseite laden
function initStart()
{
  initSoundCheck();
  initNavigation();
  initBuddys();
  initLoginmenu();
  initTicker();
  initAddticker();
  initUserlist();
  initProfiles();
  initClock();
  initShortMsg();
  initUsermsg();
}
//Startseite nach Login laden
function initStartLogin()
{
  initSoundCheck();
  initLoginmenu(1);
  initNavigation(1);
  initUserlist(1);
  initBuddys(1);
  initUsermsg();
}
//ShortMsg FadeIn
ie5 = (document.all && document.getElementById);
ns6 = (!document.all && document.getElementById);
opac = 0;
function fadeInMsg() {
  clearTimeout(tShortMsg);
  if(opac != 100)
  {
    opac2 = 100;
    if(ie5) {
      opac+=4;
      $('shortMsg').filters.alpha.opacity = opac;
    }
    if(ns6) {
      opac+=4;
      $('shortMsg').style.MozOpacity = opac/100;
    } 
    setTimeout('fadeInMsg()', 0);
  }
}
//ShortMsg FadeOut
ie5 = (document.all && document.getElementById);
ns6 = (!document.all && document.getElementById);
opac2 = 100;
function fadeOutMsg() {
  clearTimeout(tShortMsg);
  if(opac2 > 0)
  {
    opac = 0;
    if(ie5) {
      opac2-=4;
      $('shortMsg').filters.alpha.opacity = opac2;
    } 
    if(ns6) {
      opac2-=4;
      $('shortMsg').style.MozOpacity = opac2/100;
    } 
    setTimeout('fadeOutMsg()', 0);
  } else if(opac2 == 0) {
    $('shortMsg').innerHTML = '';
    tShortMsg = window.setTimeout("initShortMsg();",1000 * reloadShortMsg);
  }
}
function startPage(isStart,startpage)
{
  initStart();
  
  if(isStart == 1)
  {    
    var url = startpage;
    
    clearContent();
    loadContent('Lade Startseite');
    var myAjax = new Ajax.Updater('pageContent', url/*'user.php?nav=edit'*/, {method: 'get'}); 
  }
}
function startPageInvite(id)
{
  clearContent();
  loadContent('Lade Registrierung');
  initStart();
  var myAjax = new Ajax.Updater('pageContent', 'start.php?nav=registration&invite='+id, {method: 'get'}); 
}
function startPageProfile(id,nick,sex)
{
  clearContent();
  loadContent('Lade Userprofil von <span class="nick_'+sex+'">'+nick+'</span>');
  initStart();
  var myAjax = new Ajax.Updater('pageContent', 'user.php?nav=profile&id='+id, {method: 'get'}); 
}
//Neue Nachrichten
function initUsermsg(chat)
{
  if(chat == 1) bck = '../';
  else          bck = '';
  
  tUserMsg = setTimeout("initUsermsg();",1000 * reloadUsermsg);

  var myAjax = new Ajax.Updater('isMsg', bck+'global.php?nav=isusermsg', {method: 'get'});
  userMsg = $("isMsg");

  if(userMsg.innerHTML != 0)
  {
    if(!document.title.match(/neue Nachricht/g))
    {  
      if($("isMsg").innerHTML == 1) document.title = $("isMsg").innerHTML + ' neue Nachricht - ' + document.title;
      else if($("isMsg").innerHTML != 0) document.title = $("isMsg").innerHTML + ' neue Nachrichten - ' + document.title;
    }
    var myAjax = new Ajax.Updater('usermsg', bck+'global.php?nav=usermsg', {method: 'get'});
    
    if(msgSet == 0)
      playMe('swf/Glocken3.swf');
    
    msgSet = 1;
  } else {
    msgSet = 0;
  }
}
//Soundcheck
function initSoundCheck()
{
  var myAjax = new Ajax.Updater('checkSound', 'global.php?nav=checksound', {method: 'get'});
}
//Kurznachrichten
function initShortMsg()
{
  tShortMsg = window.setTimeout("initShortMsg();",1000 * reloadShortMsg);
  var myAjax = new Ajax.Updater('isShort', 'shortmsg.php?nav=is', {method: 'get'});
  sMsg = $("isShort");

  if(sMsg.innerHTML == 1)
  {
    var myAjax = new Ajax.Updater('shortMsg', 'shortmsg.php', {method: 'get'});
    fadeInMsg();
    playMe('swf/Telefon3.swf');
  }
}
function initShortMsgAnswer(uid,msgid)
{
  clearTimeout(tShortMsg);
  var myAjax = new Ajax.Updater('shortMsg', 'shortmsg.php?nav=answer&id='+uid+'&msgid='+msgid, {method: 'get'});
}
function shortMsg(uid)
{
  clearTimeout(tShortMsg);
  var myAjax = new Ajax.Updater('shortMsg', 'shortmsg.php?nav=new&id='+uid, {method: 'get'});
  fadeInMsg();
}
//Addticker
function initAddticker(chat)
{
  if(chat == 1) bck = '../';
  else          bck = '';
  
  var myAjax = new Ajax.Updater('addTicker', bck+'global.php?nav=addticker', {method: 'get'});
  timeout = window.setTimeout( "initAddticker()", 1000 * reloadUserliste);
}
//Userliste
function initUserlist(started,chat)
{
  if(started != 1) loadMsg(0,'Lade Userliste...','userList');
  if(chat == 1) bck = '../';
  else          bck = '';

  var myAjax = new Ajax.Updater('userList', bck+'useronline.php', {method: 'get'}); 
  timeout = window.setTimeout( "initUserlist(1)", 1000 * reloadUserliste);
}
function setUserlist(set)
{
  var myAjax = new Ajax.Updater('userList', 'attitudes.php?nav=uonline&set='+set, {method: 'get', onComplete: initUserlist()});
}

//Ticker (im Header)
function initTicker(started)
{
  if(started != 1) loadMsg(0,'Lade Ticker...','tickerHead');
  timeout = window.setTimeout( "initTicker(1)", 1000 * reloadTicker );

  var myAjax = new Ajax.Updater('tickerHead', 'ticker.php', {method: 'get'}); 
}

//Navigation laden
function initNavigation(started)
{
  if(started != 1) loadMsg(0,'Lade Navigation...','navigation');
  var myAjax = new Ajax.Updater('navigation', 'global.php?nav=navigation', {method: 'get'}); 
}
//Buddyliste laden
function initBuddys(started)
{
  if(started != 1) loadMsg(0,'Lade Buddyliste...','buddys');
  timeout = window.setTimeout( "initBuddys(1)", 1000 * reloadBuddys );
  
  var myAjax = new Ajax.Updater('buddys', 'global.php?nav=buddys', {method: 'get'}); 
}
//Loginmenu laden
function initLoginmenu(started)
{
  if(started != 1) loadMsg(0,'Lade Login...','login');
  var myAjax = new Ajax.Updater('login', 'global.php?nav=login', {method: 'get'}); 
}
//einzelne Seiten initialisieren
function initPage(what,url,pars,chat)
{
  var obj = $('pageContent');
  
  if(chat == 1) bck = '../';
  else          bck = '';
  
  if(what.match(/Hot or Not/g) && !what.match(/teilnehmen/g) && !what.match(/Teilnahme/g))
    var myAjax = new Ajax.Updater('pageContentTop', bck+'hon.php?nav=top', {method: 'get'}); 
  else if(what.match(/Topliste/g))
    var myAjax = new Ajax.Updater('pageContentTop', bck+'topliste.php?nav=top', {method: 'get'}); 
  else $('pageContentTop').innerHTML = '';
  
  clearContent();
  loadContent(what);
    
  var myAjax = new Ajax.Updater('pageContent', bck+url, {method: 'get', parameters: pars}); 
  var myAjax = new Ajax.Request(bck+'onclick.php', {method: 'get'}); 

  if(what.match(/Userprofil/g)) initUserlist(1,chat);
  hideProfile();;
  initUsermsg();
}
function initPageR(url,pars)
{
  var myAjax = new Ajax.Updater('pageContent', url, {method: 'get', parameters: pars});
}
function addBuddy(url,pars)
{
  clearContent();
  loadMContent(1,'&Uuml;bernehme');
  var myAjax = new Ajax.Updater('pageContent', url, {method: 'get', parameters: pars});
}
//Login
function doLogin(pars)
{
  loginPars = pars;
  setLocation('Login');
  var myAjax = new Ajax.Request('global.php?nav=chkLogin', {method: 'post', postBody: pars, onComplete: responseLogin});
}
function responseLogin(req)
{
  var r = req.responseText;
  obj = $('pageContent');

  if(r == 1)
  {
    var myAjax = new Ajax.Request('start.php?nav=login&do=verify', {method: 'post', postBody: loginPars, onComplete: count('Logge ein in',3,1)});  
  } else obj.innerHTML = r;
}
//Logout
function doLogout()
{
  var myAjax = new Ajax.Request('start.php?nav=logout', {method: 'get', onComplete: count('Logge aus in',3)}); 
}
//nach Aktion weiterleiten
function redirect(what,url,seconds)
{
  if(seconds) sec = seconds;
  else        sec = 2;
  
  window.setTimeout("var myAjax = new Ajax.Updater('pageContent', '"+url+"', {method: 'get'});",1000*sec);
  clearContent();
  loadContent(what);
}
//Funktion um Sonderzeichen zu konvertieren
function repl(txt)
{
  txt = txt.replace( /&amp;/g, '%26' )
  txt = txt.replace( /&/g, '%26' )
  
  return txt;
}
/*
  Formulare
*/
function formInvite(url,pars)
{
    mixResult = validateEMail($F('email')) ;
		if(typeof(mixResult) != 'string')
		{
			alert("Du musst eine g"+unescape('%FC')+"ltige Emailadresse angeben!") ;
		} else {
      var myAjax = new Ajax.Request( url, {method: 'post', postBody: pars, onComplete: redirect('Die Einladung wurde erfolgreich an <b>'+$F('email')+'</b> gesendet!',url)}); 
  }
}
function formUsercomment(url,pars,val)
{
  var d = $('comBtn');
	if($F('comment') == '')
	{
		alert("Du musst einen Userkommentar schreiben!") ;
    d.disabled=false;
    d.value=val;
	} else {
     var myAjax = new Ajax.Updater('pageContent', url, {method: 'post', postBody: pars}); 
  }
}
//Kurznachrichten
function formShortMsg(url,pars)
{
  var d = $('shortMsgBtn');
  
	if($F('msg') == '')
	{
		alert("Du musst eine Nachricht schreiben!") ;
    d.disabled=false;
    d.value='Kurznachricht abschicken!'
	} else {
    if(url.match(/sendanswer/g))
    {
      var myAjax = new Ajax.Request( url, {method: 'post', postBody: pars,onComplete: deleteShortMsg($F('msgid'))});
    } else {
      var myAjax = new Ajax.Request( url, {method: 'post', postBody: pars,onComplete: fadeOutMsg()});
    }
  }
}
function deleteShortMsg(msgid)
{
  fadeOutMsg();
  $("isShort").innerHTML = 0;
  var myAjax = new Ajax.Request('shortmsg.php?nav=delete&id='+msgid, {method: 'get'});
}
function formTicker(url,pars)
{
  var d = $('tickerMsgBtn');
  
	if($F('ticker') == '')
	{
		alert("Du musst einen Tickernachricht verfassen!") ;
    d.disabled=false;
    d.value='Nachricht abschicken!'
	} else {
     var myAjax = new Ajax.Request( url, {method: 'post', postBody: pars, onComplete: redirect('Deine Tickernachricht wurde erfolgreich gesendet und ist nun f&uuml;r 20 Minuten aktiv','user.php?nav=lobby',3)}); 
     initAddticker();
  }
}
function formNewMessage(url,pars)
{
  var d = $('newMsgBtn');

	if($F('get_msg') == '') {
    alert("Du musst eine Nachricht verfassen!");
    d.disabled=false;
    d.value='Nachricht abschicken!'
  } else {
     var myAjax = new Ajax.Updater('pageContent', url, {method: 'post', postBody: pars});
  }
}
function formUservote(id,pars,hon)
{
  clearContent();
  loadContent("&Uuml;bertrage Stimme");

  if(hon == 1) hon = '&type=hon';
  var url = 'user.php?nav=vote&id='+id+hon;
  var myAjax = new Ajax.Updater('pageContent', url, {method: 'post', postBody: pars}); 
}

function formDeletePeingang(pars)
{
  clearContent();
  loadContent("L&ouml;sche markierte Nachrichten");
  var myAjax = new Ajax.Updater('pageContent', 'nachrichten.php?nav=delmsg&from=peingang', {method: 'post', postBody: pars}); 
  initUsermsg();
}
function formDeletePausgang(pars)
{
  clearContent();
  loadContent("L&ouml;sche markierte Nachrichten");
  var myAjax = new Ajax.Updater('pageContent', 'nachrichten.php?nav=delmsg&from=pausgang', {method: 'post', postBody: pars}); 
  initUsermsg();
}
function formAttitudes(pars)
{
  clearContent();
  loadContent("&Uuml;bernehme Einstellungen");
  var myAjax = new Ajax.Updater('pageContent', 'attitudes.php?nav=set', {method: 'post', postBody: pars});
  initSoundCheck();
}
function formLostPwd(pars)
{
  mixResult = validateEMail($F('email')) ;
  
  if($F('nick') == '' || $F('email') == '')
  {
    alert('Du musst deinen Benutzernamen und deine Emailadresse angeben!');
  } else if(typeof(mixResult) != 'string') {
    alert("Die angegebene Emailadresse ist ung"+unescape('%FC')+"ltig!");
  } else {
    var url = 'start.php?nav=lostpwd&do=sendme';
    var myAjax = new Ajax.Updater('pageContent', url, {method: 'post', postBody: pars});
  }
}
function formEditProfile(pars,id)
{
   if($F('plz').length < 4 || $F('plz').length >= 6 || $("plzCheck").innerHTML == 'ung&uuml;ltige Postleitzahl!') {
    alert("Die angegebene Postleitzahl ist ung"+unescape('%FC')+"ltig!");
    return false;
  } else {
    var url = 'user.php?nav=edit&do=update';
    var myAjax = new Ajax.Request( url, {method: 'post', postBody: pars});
    setLocation('top');
    clearContent();
    loadContent('&Uuml;bernehme Einstellungen');
    setTimeout("setLocation('Userprofil_"+id+"')", 1000*2);
  }
}
function formUserSuche(pars,isForm)
{
  setLocation('Usersuche - Ergebnisse_'+pars);
}
function siteNavi(url)
{
  clearContent();
  loadContent('Seitenwechsel');
  var myAjax = new Ajax.Updater('pageContent', url, {method: 'get'});
}
function formUserAdmin(pars)
{
  var myAjax = new Ajax.Updater('pageContent', 'admin.php?nav=user&'+pars, {method: 'get'});
}
function formPost(url,pars)
{
  var myAjax = new Ajax.Updater('pageContent', url, {method: 'post', postBody: pars}); 
}
function formQuit(url,pars)
{
  if($F('ok') != 'OK')
  {
    alert('Du musst die Buchstaben \'OK\' in das Feld eintragen, um deine Mitgliedschaft zu beenden!');
  } else {
    var myAjax = new Ajax.Updater('pageContent', 'user.php?nav=quit&do=delete', {method: 'get',onComplete: doLogout()}); 
  }
}

