// copyright by edv-organisation thomas päpenmöller gen. peppmöller, Bielefeld, www.edv-organisation.de

// const

imgpath='img2/';
gameImg='img2/g/';
var appWidth =1000;
var appHeight= 650;
var minWidth = 900;
var minHeight= 580;

// Portal  *************************************************************************************
var skipCheck=0;
var skipIntro=0;
var skipSetup=0;
var skipLogin=0;
var modulesLoaded=1;
var user=new Object();
//var isZockwelten=true;
user.name='OFFLINE';
user.isGuest=true;
user.sess='';

var ffChatProb=uAgent.indexOf('Firefox/1.0')>0;
var chatSize=260, xa=0, xs=120, ya=60, yb=180, yaa=0, mainLeft=xs+2, mainWidth=appWidth-mainLeft-chatSize-2, mainHeight=appHeight-yb, mainTop=yb, 
    mainTop2=ya, mainWidth2=appWidth-mainLeft,mainHeight2=appHeight-mainTop2;
if(ffChatProb)modulesLoaded=1;

function NaviBar(){
  this.classType = 'NaviBar';
  this.onPopout = function (){
                     window.open('/portal/index.html?$sess='+user.sess, 'ZWStandalon', 'resizable=1,status=0,scrollbars=0,width='+appWidth+',height='+appHeight+',screenX=10,screenY=10');
                     with (document){
                       close();
                       writeln('<html><body></body></html>')
                     };
                  };
  this.setup=function(mainSize){
    with (this){
      inherited(NaviBar.prototype.setup).method('naviBar','');
      cssClass='win1';
      style="border:0px solid red";
      pos(0,0,1000,40);
      //head.bgImg="alpha/blue.gif";
      border=0;
      //bgAlpha='black10';
      headerSize=16;
      head.cssClass='';
      head.optRight=fnPopout(idStr);
      //self.bgAlpha=noAlphaImg?"blue":"blue";
      self.bgAlpha=noAlphaImg?"1":"1";
      with (body){
        with(add(TCon)) {
          setup('tMsg');
          padding=2;
          bgImg='';
          pos(4,2,210,31);
          borderSize=1;                                
          style='overflow:hidden; border: 1px solid #000099; font-family:Verdana; color:#77CCFF; background-color:#004080;cursor:help; font-size:9px';
          self.emptyMsg='<span onClick="event.cancelBubble=true;openForm(window.all.portal,\'mainWin\',\'TMMail\')">zur Zeit keine persönlichen Nachrichten</span>';
          fixHtml=emptyMsg;
        };
        borderSize=0;
        padding=0;
        style='border-color: #000033 #0000B0 #0000B0 #000033; font-family:Verdana; color:#77CCFF; font-size:10px';
        with(add(TABtn)){setup('server', 'Onlinegames (MMOG)',           'showInfoWin();openForm(window.all.portal,\'mainWin\',\'TMServer\',1)');  rel(218,2)};
        with(add(TABtn)){setup('frag',   'Server für Egoshooter',        'showInfoWin();openForm(window.all.portal,\'mainWin\',\'TMFrag\')');      rel(53,0)};
        with(add(TABtn)){setup('fun',    'Foren-, Flashgames, etc.',     'openForm(window.all.portal,\'mainWin\',\'TAdv\')');       rel(53,0)};
        with(add(TABtn)){setup('load',   'Freeware Games',               'openForm(window.all.portal,\'mainWin\',\'TMFree\')');      rel(53,0)};
        with(add(TABtn)){setup('life',   'life Welten',                  'openForm(window.all.portal,\'mainWin\',\'TMLife\')');      rel(53,0)};
        with(add(TABtn)){setup('clan',   'Clanverwaltung',               "alert('coming soon ...')"); rel(53,0)};      
        with(add(TABtn)){setup('chat',   'IRC-Chat',                      "window.open('/portal/chat/index.html?'+user.name, 'ZEChat', 'resizable=1,status=0,scrollbars=0,width=800,height=600,screenX=10,screenY=10')"); rel(61,0)};      
        with(add(TABtn)){setup('forum',  'Forum',                         "window.open('http://forum.zockwelten.de','TDForum','scrollbars=yes,status=yes,toolbar=yes,location=yes,directories=yes,resizable=yes,menubar=yes,width=1000,height=700')"); rel(53,0)};
        with(add(TABtn)){setup('news',   'Alle Neuigkeiten',             'showInfoWin();openForm(window.all.portal,\'mainWin\',\'TMNews\')');  rel(61,0)};
        with(add(TABtn)){setup('post',   'Nachrichten',                  'openForm(window.all.portal,\'mainWin\',\'TMMail\')');  rel(53,0)};
        with(add(TABtn)){setup('profil', 'Benutzerdaten / Einstellungen','showInfoWin();openForm(window.all.portal,\'mainWin\',\'TPortProf\')');  rel(53,0)};
        with(add(TABtn)){setup('credits','Credits verwalten',            'openForm(window.all.portal,\'mainWin\',\'TPortCred\')');    rel(53,0)};
        with(add(TABtn)){setup('impressum','Impressum',                  'openForm(window.all.portal,\'mainWin\',\'TMImpressum\')');  rel(65,0)};
        fixHtml='<img id="isLoading" src="'+imgpath+'zockAni.gif" style="position:absolute;left:'+(appWidth-40)+';top:0;visibility:hidden;z-index:10000">';

      }
    };
  };
    
};
regClass(NaviBar,TWin);

function setMailMsg(n,msg,t){
  var o=document.getElementById('window.all.portal.naviBar.body.tMsg');
  var h=window.all.portal.naviBar.body.tMsg;
  if(n>''){
    var ti=t.split(' ');
    var m='<span onClick="event.cancelBubble=true;openForm(window.all.portal,\'mainWin\',\'TMMail\')"><i title="'+t+'">'+ti[1].substr(0,5)+'</i> [<u >'+n+'</u>]<br><font color="#AAFF99">'+msg+'</font></span>';
    h.fixHtml=m;
    if(o){
      o.innerHTML=m;    }
  }
  else if(h.fixHtml!=h.emptyMsg){
    h.fixHtml=h.emptyMsg;
    if(o)o.innerHTML=h.emptyMsg;
  };
}

var naviH=0;

function Portal(){
  var mainSize=890;
  this.show=function(){
    this.inherited(Portal.prototype.show).method();    
    
    this.setUser();
    this.naviBar.show();
    this.topInfo.show();
    this.comChat.show();
    this.quick.show();
    this.radio.show();
    //this.frends.show();
    this.mainWin.show();
    this.termine.show();
    this.partner.show();
  };

  this.setUser = function(){
    var hStr=user.name+' &nbsp;&nbsp;<span style="color:#FFDD00;cursor:pointer" onClick="'+(user.isGuest?"openForm(window.all.portal,'mainWin','PortalLogin')":"logout()")+'"> <i>&#8594; '+(user.isGuest?'anmelden':'abmelden')+'</i> </span>';
    var o=document.getElementById('zwMember');
    if(o)o.innerHTML=hStr;
    else this.naviBar.head.msg='<table class="wmsgt" style="font-weight:normal" cellpadding="0" cellspacing="0" width="'+(appWidth-40)+'" border="0"><tr><tr><td width="10"></td><td><i>zock</i>Welten Portal</td><td align="right">Benutzer: <span id="zwMember">'+hStr+'</span></td></tr></table>';
    
    var hStr=user.isGuest?'<div style="position:absolute;left:645;top:120;border: 0px dotted orange" onclick="event.cancelBubble=true;openForm(window.all.portal,\'mainWin\',\'PortalLogin\',1,1)"><img border=0 style="cursor:pointer" src="'+imgpath+'anmeldung3.gif"></div>':'';
    with (this.topInfo){
      body.fixHtml='<table cellspacing=0 cellpadding=5 style="position:absolute;top:-7px"><tr><td style="border: 0px dotted orange" onclick="event.cancelBubble=true;openForm(window.all.portal,\'mainWin\',\'TMServer\',1,1)"><img border=0 style="cursor:pointer" src="'+imgpath+'headJoin.jpg"></td><td width=5></td><td width=5></td></tr></table>'+hStr;
      if(isVisible)update();
    };

  };

  this.setup=function(){
    this.inherited(Portal.prototype.setup).method('portal');
    this.pos(0,0)
    this.isSetup=true;

                      
    with (this.add(NaviBar)){
      setup(mainSize);      
    };


    naviH=this.naviBar.position.h;
    
    

    with (this.add(TWin)){
      setup('topInfo','');
      pos(xs+3,ya+3,appWidth-(xs-15),yb-ya-5);
      self.cssClass='win1';
      self.style="border:0px solid red";
      //self.bgAlpha=noAlphaImg?"blue":"blue";
      self.termine='';
      
      head.cssClass='';
      body.padding=0;
      
    };

    with (this.add(TWin)){
      setup('mainWin','HOT-News');
      // newbee unterscheidung
      var hnTop = yb;
      pos(xs+3,hnTop,appWidth-385,appHeight-hnTop);
      self.headerSize=15;
      self.cssClass='win1';
      self.padding=2;
      self.borderSize=1;
      self.bgAlpha=noAlphaImg?"blue":"blue";
      self.termine='';
      
      head.cssClass='';

      body.fieldEffect="sbg";
      body.padding=5;
      body.borderSize=0;
      body.style='overflow:hidden; ';
      body.bgAlpha=noAlphaImg?"1":"1";
      
      self.setNews=function(){
        with (this.body){
          fixHtml='<table style="font-family:Verdana; color:#5599FF; font-size:10px" border=0 cellpadding=3 cellspacing=0>\n';
          var i=0;
          for (i in window.pnews){
            with (window.pnews[i]){
              fixHtml+='<tr><td width="50" valign="top" style="border-bottom:1px dashed #5599FF">'+datum+'</td><td valign="bottom" width=450 style="color:#99bbFF;border-bottom:1px dashed #5599FF">'+text+'</td><td valign="bottom" style=\"color:#FFDD00;text-decoration:none;cursor:pointer;border-bottom:1px dashed #5599FF\" onClick="event.cancelBubble=true;openForm(window.all.portal.mainWin,\'news\',\'TNews\','+id+')">&nbsp;&#8594; mehr</td></tr>\n'
            };
          };
          fixHtml+='</table>';
        };
      };
      //body.fixHtml='';
      
    };

    with (this.add(wTypeStd)){
      setup('comChat','Portal Chat-Box');
      head.optRight = '';
      pos(appWidth-260,yb+73,chatSize,appHeight-yb-73);
      yb+=382;
      window.sbox=new TShoutBox(body,'sbox');

      self.headerSize=15;
      self.cssClass='win1';
      self.padding=2;
      self.borderSize=1;
      self.bgAlpha=noAlphaImg?"blue":"blue";
      self.fieldEffect="sbg";

      head.cssClass='';

      body.padding=0;
      body.borderSize=0;
      body.bgAlpha=noAlphaImg?"1":"1";
      body.style='overflow:hidden;font-family:Verdana; color:#5599FF; font-size:10px';
      with (add(TInput)){setup('shi',body.position.w-31,'','');pos(4, body.position.h-5);onEnter=function (){sbSnd()}};          
      with(add(TButton)){setup('snd',25,'->'); pos(body.position.w-26,body.position.h-5); onClick="sbSnd(this.id)"};
      body.fixHtml='lade Daten ...';
    };

    with (this.add(TWin)){
      setup('quick','Quick Start');
      pos(xa,ya,xs,118);
      yaa=ya+120;
      self.headerSize=15;
      self.cssClass='win1';
      self.padding=2;
      self.borderSize=1;
      self.bgAlpha=noAlphaImg?"blue":"blue";         
      //head.optRight = fnClose(idStr);
      head.cssClass='';

      body.fieldEffect="sbg";
      body.padding=3;
      //body.borderSize=0;
      body.style='';
      body.bgAlpha=noAlphaImg?"1":"1";
      self.setQuick=function(CE,BP,TE){
        this.body.fixHtml=
        '<table border=0 style="font-family:Verdana; color:#5599FF; font-size:10px" cellpadding=0 cellspacing=0>'+
            '<tr><td><b>TERRA-XP</b> Server</td></tr>'+
            '<tr><td style="color:#66EEFF;cursor:pointer;" onClick="event.cancelBubble=true;'+CE+'">&nbsp;&#8594; Conquest Earth</td></tr>'+
            '<tr><td style="color:#FF6600;cursor:pointer;" onClick="event.cancelBubble=true;'+BP+'">&nbsp;&#8594; Blood Planet</td></tr>'+
            '<tr><td style="color:#FFDD00;cursor:pointer;" onClick="event.cancelBubble=true;'+TE+'">&nbsp;&#8594; Test</td></tr>'+
            //'<tr><td><b>Rundenserver</b></td></tr>'+
            //'<tr><td style="color:#FFDD00;cursor:pointer;" onClick="event.cancelBubble=true;'+cha+'">&nbsp;&#8594; Entry (14 Tage)</td></tr>'+
            //'<tr><td style="color:#FFDD00;cursor:pointer;" onClick="event.cancelBubble=true;'+chb+'">&nbsp;&#8594; Conquest</td></tr>'+
            //'<tr><td><b>the-decision</b></td></tr>'+
            //'<tr><td style="color:#FFDD00;cursor:pointer;" onClick="'+chg+'">&nbsp;&#8594; Gast Server</td></tr>'+
            '</table>';
        this.body.update();
        
      };
    };
    with (this.add(TWin)){
      setup('termine','Termine');
      pos(xa,yaa,xs,212);
      yaa+=214;
      self.headerSize=15;
      self.cssClass='win1';
      self.padding=2;
      self.borderSize=1;
      self.bgAlpha=noAlphaImg?"blue":"blue";
      self.termine='';
      
      self.addTermin=function (wann,was,link,fnc){
        this.termine+='<tr><td width="105" colspan=2>'+wann+'</td></tr><tr><td style="color:#99bbFF" width=187>'+was+'</td></tr><tr><td valign="bottom" align="right" style=\"color:#FFDD00;border-bottom:1px dashed #5599FF;text-decoration:none;cursor:pointer\" onClick="event.cancelBubble=true;'+fnc+'"> &#8594;&nbsp;'+link+'</td></tr><tr><td height="5"></td></tr>';
      };                                         

      //addTermin('19.09.2006 10:00','start Terra II Server 2 ','mehr','openForm(window.all.portal,\'mainWin\',\'TMServer\',1)');
      //addTermin('noch probs','lastEvolution preview Version','mehr','openForm(window.all.portal,\'mainWin\',\'TMServer\',3)');
      //addTermin('Anf. Okt. 2006','lastEvolution II alphatest','mehr','openForm(window.all.portal,\'mainWin\',\'TMServer\',3)');
      //addTermin('Nov. 2006','lastEvolution II deltaLuna','mehr','openForm(window.all.portal,\'mainWin\',\'TMServer\',3)');
      //head.optRight = fnClose(idStr);
      head.cssClass='';

      body.bgAlpha=noAlphaImg?"1":"1";
      body.fieldEffect="sbg";
      body.padding=1;
      //body.borderSize=2;
      body.style='overflow:hidden;';

      self.setTermin=function (){
        with (this){
          body.fixHtml='<table style="font-family:Verdana; color:#5599FF; font-size:10px" border=0 cellpadding=0 cellspacing=0>'+termine+'</table>';
          //if(isIE) alert(body.fixHtml);
          body.update();
        };
      };
    };

    with (this.add(TWin)){
      setup('radio','ZW Radio');
      pos(xa,yaa,xs,140);
      yaa+=142
      self.headerSize=15;
      self.cssClass='win1';
      self.padding=2;
      self.borderSize=1;
      self.bgAlpha=noAlphaImg?"blue":"blue";
      //head.optRight = fnClose(idStr);
      head.cssClass='';

      body.bgAlpha=noAlphaImg?"1":"1";
      body.fieldEffect="sbg";      
      body.padding=3;      
      body.style='overflow:hidden;';
      self.setSong=function(stream1,stream2){ 
        body.fixHtml='<table border=0 style="font-family:Verdana; color:#5599FF; font-size:10px" cellpadding=0 cellspacing=0><tr><td><a href=\"http://radio.zockwelten.de:8000/listen.pls\" style=\"color:FFDD00;text-decoration:none;\"><img src="'+imgpath+'lautsprecher.gif" border="0"></a>Rock, Metal</td></tr><tr><td><a href=\"http://radio.zockwelten.de:8000/listen.pls\" style=\"color:FFDD00;text-decoration:none;\">'+stream1+'</a></td></tr>'+
                     '<tr><td><img src="'+imgpath+'spacer5.gif"></td></tr><tr><td><a href=\"http://radio.zockwelten.de:8005/listen.pls\" style=\"color:FFDD00;text-decoration:none;\"><img src="'+imgpath+'lautsprecher.gif" border="0"></a>Vocal Trance, Pop, 80`s</td></tr><tr><td><a href=\"http://radio.zockwelten.de:8005/listen.pls\" style=\"color:FFDD00;text-decoration:none;\">'+stream2+'</a></td></tr></table>';
        body.update();
      };
    };


    with (this.add(TWin)){
      setup('frends','Freunde');
      pos(appWidth-250,yb,250,appHeight-yb);
      self.headerSize=15;
      self.cssClass='win1';
      self.padding=2;
      self.borderSize=1;
      self.bgAlpha=noAlphaImg?"blue":"blue";
      //head.optRight = fnClose(idStr);
      head.cssClass='';

      body.bgAlpha=noAlphaImg?"black":"blue";
      body.fieldEffect="sbg";
      body.padding=0;
      body.borderSize=0;
      body.style='overflow:hidden;font-family:Verdana; color:#5599FF; font-size:10px';
      body.fixHtml='<b>[CenturiSolar]</b><br><span style="color:#88DDFF">&nbsp;&#8594; Merlin</span></br><span style="color:#88DDFF">&nbsp;&#8594; Kampfkralle</span><br><b>[DeltaLuna]</b></br><span style="color:#88DDFF">&nbsp;&#8594; Frits</span><br><b>[DreamWorld]</b></br><span style="color:#88DDFF">&nbsp;&#8594; Merlin</span><br>nur DEMO!';
    };
    
    with (this.add(TWin)){
      setup('partner','Partner');
      pos(0,yaa,xs,appHeight-yaa);
      self.headerSize=15;
      self.cssClass='win1';
      self.padding=2;
      self.borderSize=1;
      self.bgAlpha=noAlphaImg?"blue":"blue";
      //head.optRight = fnClose(idStr);
      head.cssClass='';

      body.bgAlpha=noAlphaImg?"1":"1";
      body.fieldEffect="sbg";
      body.padding=3;
      //body.borderSize=2;
      body.style='overflow:hidden;font-family:Verdana; color:#5599FF; font-size:10px';
      body.fixHtml='<a href="http://www.browsergames24.de" target="_blank"><img src="'+imgpath+'bg24.gif" border="0"></a><br><br><a href="http://www.galaxy-news.de/?page=charts&op=vote&game_id=1368" target="_blank"><img src="http://www.galaxy-news.de/images/vote.gif" border="0"></a>';
    };

  };
  this.isSetup=false;
};
regClass(Portal,TCon);

function logout(){
  ldData(null,'lobby1','fnc=login&uname=guest&code=',1);
  cookieData['userPass']='';
  saveCookie();  
};

function createSession(){
  var uName=cookieOpt('userName',''), uPass=cookieOpt('userPass','');
  if(uName>''&&uPass>''){
    ldData(null,'lobby1','fnc=relogin&uname='+escape(uName)+'&sess='+escape(uPass),2);
  }
  else ldData(null,'lobby1','fnc=login&uname=guest&code=',2);
};

function startCheck(){
 skipCheck=true;
 if(screenUnderSize){
   var fnc=function(){this.hide();portalStart()};
   msg(TMsgBoxWarning,'<br>Die Größe ihres Browserfensters (Auflösung) ist für eine optimale Darstellung (1024x768) zu gering.<br><br>Die Anwendung funktioniert mit verminderter Darstellungsqualität',
       fnc);
 }
 else{
   portalStart();
 };
};

function showInfoWin(){
  var p=window.all.portal;
  if(user.isGuest)p.topInfo.show();
  p.comChat.show();
};

function closeInfoWin(){
  with(window.all.portal){
    topInfo.hide();
    comChat.hide();
  };
};


// preLoad Images
pimg('aniEarth.gif','/images/');
pimg('deskbg1.jpg');

pimg('0.gif','/images/alpha/');
pimg('1.gif');
pimg('4.gif');
pimg('17.gif');
pimg('blue.gif');

pimg('close.gif','/images/wfn/');
pimg('help.gif');
pimg('done.gif');

modChat=null;


function soundPlayer(id,name,vol){
  if(cookieData.sound=='ON'){
  };
  return '';
};

function loadModules(){
  if (soundPlayer&&(modChat||cookieData['chat']=='OFF')){
    modulesLoaded=true;
    portalStart();
  }
  else {
/*  
    if(!soundPlayer){
      if(isIE){
        soundPlayer= function (id,name,vol){
          return '<OBJECT id="'+id+'" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" style="position:absolute;top:-1" WIDTH="1" HEIGHT="1"  codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">\n<PARAM NAME="CODE" VALUE="leMedia">\n<PARAM NAME="ARCHIVE" VALUE="/portal/leMedia/le.jar">\n<PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">\n<PARAM NAME="scriptable" VALUE="true">\n'+
                 '<PARAM NAME="volume" VALUE="'+vol+'"><PARAM NAME="audioURL" value="'+name+'"></OBJECT>';
        };
      }
      else {
        soundPlayer= function (id,name,vol){
          return '<EMBED id="'+id+'" type="application/x-java-applet;version=1.3" style="visibility:hidden" CODE="leMedia" ARCHIVE="/portal/leMedia/le.jar" WIDTH="1" HEIGHT="1" pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html" scriptable=true '+
                 'audioURL="'+name+'"  volume="'+vol+'"></EMBED>';
        };
      };
      var fnc=function(){this.hide();portalStart()};
      var mstr='<br><br>Lade Modul "<i>leMediaPlayer</i>" (100 kb)...<br>'+
               '<iframe src="/portal/leMedia/load.html" noscroll border="0" frameborder="0" scrolling="NO" allowTransparency="true" style="position:absolute;top:65; left:0" width="100%" height="22"></iframe>';
    };
  */  
    //else{
      modChat=true;
      var fnc=function(code){window.chatApplet=code;this.hide();portalStart()};
      var mstr='<br><br>Lade Modul "<i>javaChat</i>" (180 kb)...<br>'+
               '<iframe src="/portal/chat/load.html" style="visibility:hidden"></iframe>';
    //};
    msg(TMsgBoxWait,mstr,fnc);
  };
};

function portalStart(){
  if      (!skipCheck) startCheck()
  else if (!skipSetup){
    with (openForm(window,'basicSetup','BasicSetup'));
  }
  else if (!modulesLoaded) loadModules()
  else if (!skipIntro) openForm(window,'intro','Intro');
  else if (!skipLogin) createSession();  //openForm(window,'portalLogin','PortalLogin');
  else {
    window.all.portal.show();
    //openForm(window.all.portal,'adv','TAdv');
    setInterval('updateSBox();',1000);
//if(user.anyNews>0)openForm(window.all.portal.mainWin,'news','TNews');
  };
};

function initZW(){
  new Portal().setup();
  if(cookieOpt('intro','ON')!='ON'){skipIntro=1;skipSetup=1};
  portalStart();
};
