<!--

var sname="";
var Schiedsrichter=new Array(3);
var Spielinfos='';

var ActionID=0;
var HomeTeam=new team(true,'','');
var AwayTeam=new team(false,'','');
var Tore=new Array();
var Messages=new Array();

var aktid;

jonni = "";

var defspieler = new spieler('','',false,false,0,0,0,-10,-10);

function message(zeit,statusid,text) {
	this.zeit=zeit;
	this.statusid=statusid;
	this.text=text;
}

function tor(ishome,zeit,nummer,name,fe,he,et) {
	this.ishome=ishome;
	this.zeit=zeit;
	this.nummer=nummer;
	this.name=name;
	this.fe=fe;
	this.he=he;
	this.et=et;
}

function team(ishome,trainer,teamname,logo) {
	this.ishome=ishome;
	this.trainer=trainer;
	this.teamname=teamname.toUpperCase();
	this.logo=logo;
	this.spieler=new Array();
}

function spieler(nr,spielername,gelb,rot,tore,ausid,auszeit,xpos,ypos) {
	this.nr=nr;
	this.spielername=spielername;
	this.gelb=gelb;
	this.rot=rot;
	this.tore=tore;
	this.ausid=ausid;
	this.auszeit=auszeit;
	this.xpos=xpos;
	this.ypos=ypos;
}

function getspieler(SpielerArray,Feld) {
	if (SpielerArray[Feld]) {
		return SpielerArray[Feld];
	} else {
		return defspieler;
	}
}

function doInit() {
	if (isArchiv=='0') {
		document.getElementById("hm5").title='Der Liveticker aktualisiert sich alle '+message_delay/1000+' Sek.';
	} else {
		//document["hm5"].style='display:none;';
	}

	jsrsPOST = false;
	jsrsExecute("Games/"+GameID+"/init.htm",myCallBackInit,"DoInit");
	if (isArchiv=='0') {
		aktid=setInterval("doRefresh()",message_delay);
	}
}

function doRefresh() {
	if (isArchiv=='0') {
		jsrsPOST = false;
		jsrsExecute('Games/'+GameID+'/action'+ActionID+'.htm',myCallBackRefresh,'GetInfos');
	}
}

function myCallBackInit( returnstring ) {
	 myCallback( returnstring );
	WriteInfos();
}

function myCallBackRefresh( returnstring ) {
	 myCallback( returnstring );
}


function myCallback( returnstring ) {
	if (trim(returnstring)=='') {
		return true;
	}
	//alert(returnstring);	
	zeilen=returnstring.split("\n");
	for (var i = 0; i < zeilen.length; ++i) {
		if (trim(zeilen[i])!='') {
			entry=zeilen[i].split('{,}');
			switch (entry[0].toLowerCase()) {
				case "message":
					var mymessage;
					mymessage=new message(entry[2],entry[3],entry[4]);
					if (mymessage.statusid=='') {
						Messages[entry[1]]=null;
					} else {
						Messages[entry[1]]=mymessage;
					}
					break;
				case "torereset":
					Tore = new Array();
					break;
				case "tor":
					var mytor;
					mytor=new tor(entry[2],entry[3],entry[4],entry[5],entry[6],entry[7],entry[8]);
					Tore[entry[1]]=mytor;
					break;
				case "spielinfos":
					Spielinfos=entry[1];
					break;
				case "schiedsrichter":
					Schiedsrichter[entry[1]-1]=entry[2];
					break;
				case "team":
					if (entry[1]==1) {
						HomeTeam.teamname=entry[2];
						HomeTeam.trainer=entry[3];
						HomeTeam.logo=entry[4];
					} else {
						AwayTeam.teamname=entry[2];
						AwayTeam.trainer=entry[3];
						AwayTeam.logo=entry[4];
					}
					break;
				case "spieler":
					var myteam;
					var myplayer;
					if (entry[1]==1) {
						myteam=HomeTeam;
					} else {
						myteam=AwayTeam;
					}
					myplayer=myteam.spieler[entry[2]-1];
					if (myplayer) {
						myplayer.nr=entry[3];
						myplayer.spielername=entry[4];
						myplayer.gelb=entry[5];
						myplayer.rot=entry[6];
						myplayer.tore=entry[7];
						myplayer.ausid=entry[8];
						myplayer.auszeit=entry[9];
						myplayer.xpos=entry[10];
						myplayer.ypos=entry[11];
					} else {
						neuerspieler=new spieler(entry[3],entry[4],entry[5],entry[6],entry[7],entry[8],entry[9],entry[10],entry[11]);
						myteam.spieler[entry[2]-1]=neuerspieler;
					}
					break;
				case "actionid":
					ActionID=trim(entry[1]);
					break;
				case "setinterval":
					if (isArchiv=='0') {
						message_delay=entry[1];
						document.getElementById("hm5").title='Der Liveticker aktualisiert sich alle '+message_delay/1000+' Sek.';
						clearInterval(aktid);
						aktid=setInterval("doRefresh()",message_delay);
					}
					break;
				case "optasptag":
				
					break;
			}
		}
	}
	WriteGameInfos();
	WriteInfos();
	WriteReferees();
	WriteMessages();
	WriteTeam(true);
	WriteTeam(false);
	WriteTore();
	WriteTaktik();
	
}

function trim(s) {
  while (s.substring(0,1) == ' ' || s.substring(0,1) == '\n' || s.substring(0,1) == '\r') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ' || s.substring(s.length-1,s.length) == '\n' || s.substring(s.length-1,s.length) == '\r') {
    s = s.substring(0,s.length-1);
  }
  return s;
}


function MouseOver(iname){
	newSRC = document[iname].src.replace("_n.","_o.");
	document[iname].src = newSRC;
}

function MouseOut(iname){
	if (sname != iname){
		newSRC = document[iname].src.replace("_o.","_n.");
		document[iname].src = newSRC;
	}
}

function SetImage(name){
	sname = name;
	if (sname!=""){
		MouseOver(sname);
	}
}

function SetAll(mid) {
	sname="";
	MouseOut("b1");
	MouseOut("b2");
	//MouseOut("b3");
	MouseOut("b4");
	SetImage(mid);
}

function WriteContent(id,content){
  if (!getobject(id)) {
    alert(id+' nicht gefunden');	
  } else {
    getobject(id).innerHTML=content;
  }
}

function getobject(id) {
	var elmID;
	
	if(document.getElementById) {elmID = document.getElementById(id);}
    else if(document.all) {elmID = document.all[id];}
    else if(document.layers) {elmID = this._getLayer(id);}
    else if(document.forms) {
        if(document.forms[id]) {elmID = document.forms[id];}
        else {
            for(var i=0; i<document.forms.length; i++) {
                if(document.forms[i][id]) {
                    elmID = document.forms[i][id];
                    break;
                }
            }
        }
    }
    else {elmID = null;}

    return elmID;
}

function WriteInfos(){
	var heimtore;
	var gasttore;
	var myContentHead;
	var myContentFoot;
	var myContent;
	var mytor;
	
	heimtore=0;
	gasttore=0;
	myContent='';
	
	
	for (var i = 0; i < Tore.length; ++i) {
		mytor = Tore[i];
		
		if (mytor!=null) { 
			if (mytor.et==1) {
				if (mytor.ishome!=1) {
					heimtore+=1;
				} else {
					gasttore+=1;
				}
			} else {
				if (mytor.ishome==1) {
					heimtore+=1;
				} else {
					gasttore+=1;
				}
			}
		}
	}
		
	myContentHead='<div class="display_inner"><table><tr>';
	myContentFoot='</tr></table></div>';
	WriteContent('display_content',myContentHead+'<td id="heim_logo"><img src="'+HomeTeam.logo+'"></td><td id="ergebnis">'+heimtore+' : '+gasttore+'</td><td id="gast_logo"><img src="'+AwayTeam.logo+'"></td>'+myContentFoot);
	WriteContent('taktik_head_home',HomeTeam.teamname);
	WriteContent('taktik_head_gast',AwayTeam.teamname);
}

function WriteTore(){
	var heimtore;
	var gasttore;
	var myContent;
	var mytor;
	
	heimtore=0;
	gasttore=0;
	myContent='';
	
	for (var i = 0; i < Tore.length; ++i) {
		mytor = Tore[i];
		if (mytor!=null) { 
			if (mytor.et==1) {
				if (mytor.ishome!=1) {
					heimtore+=1;
				} else {
					gasttore+=1;
				}
			} else {
				if (mytor.ishome==1) {
					heimtore+=1;
				} else {
					gasttore+=1;
				}
			}
			
			myContent+='<div class="tore_text">'+heimtore+':'+gasttore+' '+mytor.name+' ('+mytor.zeit+'.)';
			if(mytor.fe==1){
				myContent+=',FE';
			}
			if(mytor.et==1){
				myContent+=',ET';
			}
			if(mytor.he==1){
				myContent+=',HE';
			}
			myContent+='</div>';
		}
	}
	WriteContent('tore_content',myContent);
}

function WriteTaktik(){
	var myContent='';

	

	for (var i = 1; i <= 18; i++) {
			myspieler=getspieler(HomeTeam.spieler,i-1);
			
			if (myspieler.xpos!=-10 && myspieler.ypos!=-10) {
				myxpos=myspieler.xpos*1+23;
				myypos=myspieler.ypos-2;
				if (HomeTeam.teamname === 'Hertha BSC') {
					myContent += '<div class="taktik_box hertha" style="left: ' + myxpos + 'px; top: ' + myypos + 'px;">' + myspieler.nr + '<span class="player">' + myspieler.spielername + '</span></div>';
				} else {
					myContent += '<div class="taktik_box" style="left: ' + myxpos + 'px; top: ' + myypos + 'px;">' + myspieler.nr + '<span class="player">' + myspieler.spielername + '</span></div>';
				}
			}
	}
	for (var i = 1; i <= 18; i++) {
			myspieler=getspieler(AwayTeam.spieler,i-1);
			
			if (myspieler.xpos!=-10 && myspieler.ypos!=-10) {
				myxpos=myspieler.xpos-3;
				myypos=myspieler.ypos-2;
				if (AwayTeam.teamname === 'Hertha BSC') {
					myContent += '<div class="taktik_box hertha" style="left: ' + (myxpos + 250) + 'px; top: ' + myypos + 'px;">' + myspieler.nr + '<span class="player">' + myspieler.spielername + '</span></div>';
				} else {
					myContent += '<div class="taktik_box" style="left: ' + (myxpos + 250) + 'px; top: ' + myypos + 'px;">' + myspieler.nr + '<span class="player">' + myspieler.spielername + '</span></div>';
				}
			}
	}
	
//var xxx='<div id="spieler" style="position:absolute;top:0px;left:0px;height:14px;width:90px;border: solid 1px;border-color:#000000;"><center>Spieler</center></div>';

	//WriteContent('taktik_heim','<a href="#" onClick="WriteTaktik(true)">'+HomeTeam.teamname+'</a>');
	//WriteContent('taktik_gast','<a href="#" onClick="WriteTaktik(false)">'+AwayTeam.teamname+'</a>');
	//WriteContent('taktik_trenner','|');
	WriteContent('taktik_content',myContent);
	
	
}

function WriteGameInfos() {
	WriteContent('spielinfos',Spielinfos)
}

function WriteMessages() {
	var strContent = '';
	var strTimeline = '';
	var mymessage;
	var status;
	for (var i = Messages.length; i > 0 ; i--) {
		if (Messages[i]!=null) {
			mymessage=Messages[i];
			strstatus='';
			switch (mymessage.statusid) {
				case '1':
					strstatus=' ball';
					break;
				case '2':
					strstatus=' gelbe_karte';
					break;
				case '3':
					strstatus=' rote_karte';
					break;
				case '4':
					strstatus=' gelbrote_karte';
					break;
				case '5':
					strstatus=' eingewechselt1';
					break;
				case '6':
					strstatus=' ausgewechselt1';
					break;
				case '7':
					strstatus=' eingewechselt2';
					break;
				case '8':
					strstatus=' ausgewechselt2';
					break;
				case '9':
					strstatus=' eingewechselt3';
					break;
				case '10':
					strstatus=' ausgewechselt3';
					break;
				case '11':
					strstatus=' fazit';
					break;
				case '12':
					strstatus=' pfeife';
					break;
			}
			
			if (mymessage.statusid>=1 && mymessage.statusid<=4 && mymessage.zeit!='') {
				$links=Math.round(900/90*mymessage.zeit);
				if (mymessage.zeit=='') {
          				strTimeline+='<div class="tl_content'+strstatus+'" style="left:'+$links+'px;"><a href="#mess'+i+'" title=""><br /></a></div>';
          			} else {
          				strTimeline+='<div class="tl_content'+strstatus+'" style="left:'+$links+'px;"><a href="#mess'+i+'" title="'+mymessage.zeit+'. Minute"><br /></a></div>';
          			}
      			}
			
			if (mymessage.zeit=='') {
				strContent+='<div class="mbox"><div class="minute"><div class="icon'+strstatus+'"><a name="mess'+i+'"></a><br /></div></div><div class="ttext">'+mymessage.text+'</div><div class="cb"></div></div>';
			} else {
				strContent+='<div class="mbox"><div class="minute"><a name="mess'+i+'"></a>'+mymessage.zeit+'. Minute:<div class="icon'+strstatus+'"><br /></div></div><div class="ttext">'+mymessage.text+'</div><div class="cb"></div></div>';
			}
		}
	}
	WriteContent('messages',strContent)
	WriteContent('timeline',strTimeline)
}

function WriteReferees() {
	var strContent = '';
	var strRef1 = '';
	var strRef23 = '';
	var strRef4 = '';
	
	if (Schiedsrichter[0]!=null) {
		strRef1 += 'Schiedsrichter : '+Schiedsrichter[0];
	}
	for (var i = 1; i <= 2; i++) {
		if (Schiedsrichter[i]!=null && trim(Schiedsrichter[i])!='') {
			if (strRef23!='' && trim(Schiedsrichter[i])!='') strRef23+=', ';
			strRef23 += Schiedsrichter[i];
		}
	}
	if (strRef23!='') strRef23 = 'Assistenten : '+strRef23;
	
	if (Schiedsrichter[3]!=null && trim(Schiedsrichter[3])!='') strRef4 += ' 4. Offizieller : '+Schiedsrichter[3];
	
	if (strRef1!='') {
		strContent+=strRef1;
	}
	if (strRef23!='') {
		if (strContent!='') {strContent+=' - '}
		strContent+=strRef23;
	}
	if (strRef4!='') {
		if (strContent!='') {strContent+=' - '}
		strContent+=strRef4;
	}
	
	WriteContent('referees',strContent);
}

function WriteTeam(ishome) {
	var myteam;
	var spieler;
	
	if (ishome) {
		myteam=HomeTeam;
	} else {
		myteam=AwayTeam;
	}
	var strContent = '';
	var strStyle = '';
		
	//Teamname
	strContent += '<div class="head">'+myteam.teamname+'</div>';
	//aufgestellte Spieler
	strContent += '<div class="content"><table><tr><td>';
	for (var i = 1; i <= 11; i++) {
			var wechselzeit='';
			spieler=getspieler(myteam.spieler,i-1);
			if (parseInt(i/2)*2==i) {
				strStyle = 'spieler_lg';
			} else {
				strStyle = 'spieler_lug';
			}
			if (spieler.ausid!=0) {
				if (spieler.ausid>0) {
					strStyle += ' eingewechselt'+spieler.ausid;
				} else {
					strStyle += ' ausgewechselt'+spieler.ausid*-1;
				}
				wechselzeit = spieler.auszeit;
			}
			if (i==11) {
        strStyle+=' last';
      }
			strContent += '<div class="'+strStyle+'">&nbsp;'+wechselzeit+'</div>';
	}
	strContent += '</td><td>';
	for (var i = 1; i <= 11; i++) {
			spieler=getspieler(myteam.spieler,i-1);
			if (parseInt(i/2)*2==i) {
				strStyle = 'spieler_mg';
			} else {
				strStyle = 'spieler_mug';
			}
			if (spieler.gelb==true && spieler.rot==true) {
				strStyle += ' gelbrote_karte';
			} else if (spieler.gelb==true && spieler.rot==false) {
				strStyle += ' gelbe_karte';
			} else if (spieler.gelb==false && spieler.rot==true) {
				strStyle += ' rote_karte';
			}
			if (i==11) {
        strStyle+=' last';
      }
			strContent += '<div class="'+strStyle+'">'+spieler.nr+' '+spieler.spielername+'</div>';
	}
	strContent += '</td><td>';
	for (var i = 1; i <= 11; i++) {
			var tore='&nbsp;';
			spieler=getspieler(myteam.spieler,i-1);
			if (parseInt(i/2)*2==i) {
				strStyle = 'spieler_rg';
			} else {
				strStyle = 'spieler_rug';
			}
			if (spieler.tore>0) {
				strStyle += ' ball';
				tore = spieler.tore;
			}
			if (i==11) {
        strStyle+=' last';
      }
			strContent += '<div class="'+strStyle+'">'+tore+'</div>';
	}
	strContent += '</td></tr></table>';
	//Trainer
	strContent += '<div class="trainer"><div class="trainer_inner">Trainer: '+myteam.trainer+'</div></div>';
	//Reservespieler
	strContent += '<table><tr><td>';
	for (var i = 1; i <= 7; i++) {
			var wechselzeit='';
			spieler=getspieler(myteam.spieler,11+i-1);
			if (parseInt(i/2)*2==i) {
				strStyle = 'spieler_lug';
			} else {
				strStyle = 'spieler_lg';
			}
			if (spieler.ausid!=0) {
				if (spieler.ausid>0) {
					strStyle += ' eingewechselt'+spieler.ausid;
				} else {
					strStyle += ' ausgewechselt'+spieler.ausid*-1;
				}
				wechselzeit = spieler.auszeit;
			}
			if (i==7) {
        strStyle+=' last';
      }
			strContent += '<div class="'+strStyle+'">&nbsp;'+wechselzeit+'</div>';
	}
	strContent += '</td><td>';
	for (var i = 1; i <= 7; i++) {
			spieler=getspieler(myteam.spieler,11+i-1);
			if (parseInt(i/2)*2==i) {
				strStyle = 'spieler_mug';
			} else {
				strStyle = 'spieler_mg';
			}
			if (spieler.gelb==true && spieler.rot==true) {
				strStyle += ' gelbrote_karte';
			} else if (spieler.gelb==true && spieler.rot==false) {
				strStyle += ' gelbe_karte';
			} else if (spieler.gelb==false && spieler.rot==true) {
				strStyle += ' rote_karte';
			}
			if (i==7) {
		          strStyle+=' last';
		        }
			strContent += '<div class="'+strStyle+'">'+spieler.nr+' '+spieler.spielername+'</div>';
	}
	strContent += '</td><td>';
	for (var i = 1; i <= 7; i++) {
			var tore='&nbsp;';
			spieler=getspieler(myteam.spieler,11+i-1);
			if (parseInt(i/2)*2==i) {
				strStyle = 'spieler_rug';
			} else {
				strStyle = 'spieler_rg';
			}
			if (spieler.tore>0) {
				strStyle += ' ball';
				tore = spieler.tore;
			}
			if (i==7) {
        strStyle+=' last';
      }
			strContent += '<div class="'+strStyle+'">'+tore+'</div>';
	}
	strContent += '</td></tr></table>';
	strContent += '</div>';
	
	
	if (ishome) {
		WriteContent('team_home',strContent);
	} else {
		WriteContent('team_away',strContent);
	}
	
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }


function showinfos() {
  getobject("taktik_pos").style.display="none";
  getobject("team_home").style.display="block";
  getobject("team_away").style.display="block";
  getobject("livetabelle").style.display="none";
  getobject("liveergebnisse").style.display="none";
}

function showtaktik() {
  getobject("taktik_pos").style.display="block";
  getobject("team_home").style.display="none";
  getobject("team_away").style.display="none";
  getobject("livetabelle").style.display="none";
  getobject("liveergebnisse").style.display="none";
}

function showtabelle() {
  getobject("taktik_pos").style.display="none";
  getobject("team_home").style.display="none";
  getobject("team_away").style.display="none";
  getobject("livetabelle").style.display="block";
  getobject("liveergebnisse").style.display="none";
}

function showergebnisse() {
  getobject("taktik_pos").style.display="none";
  getobject("team_home").style.display="none";
  getobject("team_away").style.display="none";
  getobject("livetabelle").style.display="none";
  getobject("liveergebnisse").style.display="block";
}
//-->

