// ===========================================================================
// Name:  igal.js
// Autor: Werner A. Wolf
// Datum: 11. November 2002
// ===========================================================================

function TIgal()
{
// public:
	this.Menu = TMenu;
	this.Advertising = TAdvertising;
	this.Footer = Footer;
	this.ExtendedFooter = ExtendedFooter;
	this.FlipMenu = FlipMenu;
	this.LoadCenterRight = LoadCenterRight;
	this.ShowPicture = ShowPicture;
	this.Trim = Trim; // LeftTrim und RightTrim
	
// protected:
	// ------------------------------------------------------------------------
	// --- TMenuSubItem
	// ------------------------------------------------------------------------
	function TMenuSubItem(parURL, parText)
	{
		this.URL 	= parURL;
		this.Text 	= parText;		
		this.Write 	= Write;

		function Write()
		{                                              
		   return '<a class="submenu" href="' + this.URL + '">' + this.Text + '</a>';
		}
	}

	// ------------------------------------------------------------------------
	// --- TMenuItem
	// ------------------------------------------------------------------------
	function TMenuItem(parURL, parText)
	{
		this.URL 	= parURL;
		this.Text 	= parText;	
		this.AddSub = AddSub;	
		this.Write 	= Write;

		var SubItems = new Array();

      function AddSub(parURL, parText)
		{
   	   SubItems[SubItems.length] = new TMenuSubItem(parURL, parText);	
		}

		function Write(parIndex)
		{
			var Temp;
   		Temp = '<a class="menu" href="';
						
			if (0 < SubItems.length) // Hat SubMenuItems, also kein link sondern Flipper.
			{
				Temp = Temp + 'javascript:top.IGAL.FlipMenu(' + parIndex + ');" title="Untermenü anzeigen">' + this.Text + '</a>';
				Temp = Temp + '<span style="display:none" id ="SubMenu' + parIndex + '">';
				
				for (var i = 0; i < SubItems.length; i++)
				{
					Temp = Temp + SubItems[i].Write();
				}
				Temp = Temp + '</span>';
			}							
			else // Hat keine SubMenuItems, also normaler Link.
			{
				Temp = Temp + this.URL + '">' + this.Text + '</a>';
			}
			return Temp;
		}
   }
	
	// ------------------------------------------------------------------------
	// --- TMenu
	// ------------------------------------------------------------------------
	function TMenu(parTitle)
	{
		this.Title 	= parTitle;
		this.Add 	= Add;
		this.Add2 = Add; // nur für Sitemap
		this.AddSub = AddSub;
		this.AddSub2 = AddSub; // nur für Sitemap
		this.Write 	= Write;

		this.Items = new Array();
	
		function Add(parURL, parText)
		{
		   this.Items[this.Items.length] = new TMenuItem(parURL, parText);	
		}
		
		function AddSub(parURL, parText)
		{
			
		   if (this.Items.length > 0)
		   {
			   this.Items[this.Items.length-1].AddSub(parURL, parText);	
			}
			else
			{
			   alert('Vor AddSub muss zumindest ein Add aufgerufen werden.');
			}			   
		}
		
		
		function Write(parDocument)
		{
			var Temp;
			
			Temp = '<table border="0" cellpadding="0" cellspacing="0" width="100%">';
			Temp = Temp + '<tr><td><img src="../images/menues/' + this.Title + '.jpg"></td></tr>';
			Temp = Temp + '<tr><td align="left" background="../images/menues/center.jpg">';
		
			for (var i=0; i<this.Items.length; i++)
			{
				Temp = Temp + this.Items[i].Write(i);
			}
			
			Temp = Temp + '<tr><td><img src="../images/menues/bottom.jpg" border="0"></td></tr></table>';
			
			parDocument.write(Temp);
		}
	}
	
	// ------------------------------------------------------------------------
	// --- TAdvertising
	// ------------------------------------------------------------------------
	function TSponsor(parURL, parImage, parTarget)
	{
		this.URL = parURL;
		this.Image = parImage;
		this.Target = parTarget;
		this.Write = Write;
		
		function Write()
		{
			var Temp;
			var TempTarget;
			
			if (this.Target == '')
			{
				TempTarget = ' target="_blank"';
			}
			else
			{
				TempTarget = ' target="' + this.Target + '"';
			}
			
			Temp = '<tr align="center"><td background="../images/menues/center.jpg">';
			Temp = Temp + '<a href="' + this.URL + '"' + TempTarget + '>';
			Temp = Temp + '<img src="' + this.Image + '" border="1"></a></td></tr>'; 
			
			Temp = Temp + '<tr align="center"><td background="../images/menues/center.jpg">';
			Temp = Temp + '<img src="../images/dummy.gif" border="0" height="3"></td></tr>';
			
			return Temp;
		}
	}
	
	function TAdvertising()
	{
		this.Add = Add;
		this.Write = Write;
		
		this.Items = new Array();
	
		function Add(parURL, parImage, parTarget)
		{
		   this.Items[this.Items.length] = new TSponsor(parURL, parImage, parTarget);	
		}

		function Write(parDocument)
		{
			var Temp;
			
			Temp = '<table border=0 cellpadding=0 cellspacing=0 width="100%">'
			Temp = Temp + '<tr><td><img src="../images/menues/advertising.jpg"></td></tr>';
			
			for (var i=0; i<this.Items.length; i++)
			{
				Temp = Temp + this.Items[i].Write();
			}
			
			Temp = Temp + '<tr><td><img src="../images/menues/bottom.jpg" border="0"></td></tr></table><br>';
			Temp = Temp + '<table border=0 cellpadding=0 cellspacing=0 width="100%">';
			Temp = Temp + '<tr><td><img src="../images/menues/right.jpg"></td></tr>';
			Temp = Temp + '<tr><td background="../images/menues/center.jpg">';
			Temp = Temp + '<a href="index.html" target="frmCenter">Unsere Sponsoren</a>';
			Temp = Temp + '<a href="sponsor_werden.html" target="frmCenter">Werden Sie Sponsor</a></td></tr>';
			Temp = Temp + '<tr><td><img src="../images/menues/bottom.jpg" border="0"></td></tr></table><br>';

      // Impressum anhängen
			Temp = Temp + '<table border=0 cellpadding=0 cellspacing=0 width="100%">';
			Temp = Temp + '<tr><td><img src="../images/menues/top.jpg"></td></tr>';
			Temp = Temp + '<tr><td background="../images/menues/center.jpg">';
			Temp = Temp + '<a href="impressum.html#Impressum" target="frmCenter">Impressum</a>';
			Temp = Temp + '<a href="impressum.html#Haftungsausschluss" target="frmCenter">Haftungsausschluss</a>';
			Temp = Temp + '<a href="impressum.html#Kontakt" target="frmCenter">Kontakt</a></td></tr>';
			Temp = Temp + '<tr><td><img src="../images/menues/bottom.jpg" border="0"></td></tr></table><br>';

			parDocument.write(Temp);
		}		
	}
	
	// ------------------------------------------------------------------------
	// --- FlipMenu
	// ------------------------------------------------------------------------
   function FlipMenu(parIndex)
   {	   	
   	var SubMenu = top.frmLeft.document.getElementById('SubMenu' + parIndex);
   	
   	if (SubMenu.style.display == '')
   	{
   		SubMenu.style.display = 'none';
   	} 
   	else
   	{
   		SubMenu.style.display = '';
   	}
   }

	// ------------------------------------------------------------------------
	// --- Footer
	// ------------------------------------------------------------------------
	function Footer(parDocument)
   {
   var Temp = '<br><center><nobr><img src="/images/section_line.gif" width="150" height="11"><img src="/images/section_i.gif" width="1" height="11">&nbsp;<font size=-1>&copy; Copyright <a href="/help/homepage_team.html" target="_self">IGAL  Homepage Team</a> ' + ThisYear() + '.&nbsp;<img src="/images/section_i.gif" width="1" height="11"><img src="/images/section_line.gif" width="150" height="11"></nobr><br>'
   
   	Temp = Temp + 'Zuletzt aktualisiert am ' + DocumentLastChanged(parDocument) + ' Uhr.</font></center><br>';
   	
   	parDocument.write(Temp);
   }
   
	// ------------------------------------------------------------------------
	// --- ExtendedFooter
	// ------------------------------------------------------------------------
   function ExtendedFooter(parDocument)
   {
   var Temp = '<br><center><nobr><img src="/images/section_line.gif" width="150" height="11"><img src="/images/section_i.gif" width="1" height="11">&nbsp;<font size=-1>&copy; Copyright <a href="/help/homepage_team.html" target="_self">IGAL  Homepage Team</a> ' + ThisYear() + '.&nbsp;<img src="/images/section_i.gif" width="1" height="11"><img src="/images/section_line.gif" width="150" height="11"></nobr><br>'

   	Temp = Temp + 'Zuletzt aktualisiert am ' + DocumentLastChanged(parDocument) + ' Uhr.<br>';
   	Temp = Temp + 'Alle Logos und Warenzeichen sind Eigentum Ihrer jeweiligen Besitzer. ';
   	Temp = Temp + 'Namentlich gekennzeichnete Beiträge stehen im Verantwortungsbereich ihrer jeweiligen Autoren. '; 
   	Temp = Temp + 'Wir distanzieren uns ausdrücklich von den Links dieser Seite zu anderen Seiten und stellen klar, ';
   	Temp = Temp + 'dass wir uns den Inhalt der verlinkten Seiten nicht zueigen machen möchten!</font></center><br>';

   	parDocument.write(Temp);
   }
   
   function ThisYear()
   {
    var Jetzt = new Date();
    
    return Jetzt.getYear();
   }
   
   function DocumentLastChanged(parDocument)
   {
      var Monate = new Array('Jänner','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
      var Datum = new Date(parDocument.lastModified) // get string of last modified date
      var Temp = Datum.getDate() + ". " + Monate[Datum.getMonth()] + " ";
   
      if (Datum.getYear() < 1900)
      {
         Temp += (1900 + Datum.getYear());
      }
      else
      {
         Temp += Datum.getYear();
      }
      
      if (Datum.getMinutes() < 10)
      {
         Temp += " um " + Datum.getHours() + ":0" + Datum.getMinutes();
      }
      else
      {
         Temp += " um " + Datum.getHours() + ":" + Datum.getMinutes();
      }
      return Temp;
   }
   
   function LoadCenterRight(parMenu)
   {
      // LoadCenterPage
		var CenterPageURL = '/' + parMenu.Title + '/' + parMenu.Title + '.html';
		
	   if (-1 == top.frmCenter.document.location.href.indexOf(CenterPageURL))
	   {
			top.frmCenter.document.location = CenterPageURL;
		}
		
      // LoadAdvertising
		var AdvertisingURL = '/' + 'right/' + parMenu.Title + '.html';
		
	   if (-1 == top.frmRight.document.location.href.indexOf(AdvertisingURL))
	   {
	   	// auch die Werbung aktualisieren
			top.frmRight.document.location = AdvertisingURL;
		}
   }
   
   function ShowPicture(Url, Title, Width, Height)
   {
      if (isNaN(Width)) Width=600;
      if (isNaN(Height)) Height=400;

      var Left = screen.width/2 - Width/2;
      var Top = screen.height/2 - Height/2;
      var Pars = 'width='+Width+',height='+Height+',menubar=no,statusbar=no,'+
                 'toolbar=no,dependent=yes,location=no,resizable=yes,left='+Left+',top='+Top;
      var Win = window.open(Url, 'ShowTitle', Pars);

      Win.document.title = Title;
      Win.document.style.margin = 2;
      Win.document.style.padding = 0;
      Win.document.style.border = 0;
      Win.document.body.style.backgroundColor = 'LightGrey';
      Win.focus();

      var Html = Win.document.body.innerHTML.substr(0, Win.document.body.innerHTML.length-1);
      Win.document.body.innerHTML = '<a href="javascript:window.close();">' + Html + ' border=0 width="100%" height="100%"></a>';
   }   

   function Trim(parText)
   {
      var Ergebnis = "";
      var i = 0, j = parText.length-1;
      var Status = 'left';
       
      
      while (parText.charAt(i) == ' ' && i < parText.length)
      {
         i++;
      }
      
      while (parText.charAt(j) == ' ' && 0 <= j)
      {
         j--;
      }

      return parText.substr(i, j-i+1);
   }
}

var IGAL = new TIgal();	
