/* Allgemeine Aktionen beim Laden einer Inhaltsseite */


window.onerror = handleError;
function handleError(msg, filename, row)
  {
  //alert (msg + " in " + filename + " Zeile " + row);
  return true;
  }
  

function getRoot()
  {
  root = top.location.href;
  pos = root.indexOf ("?");
  if (pos > 0)
    root = root.substr (0, pos);
  pos = root.lastIndexOf("/");
  if (pos >= 0  &&  pos < root.length - 1)
    root = root.substr(0, pos + 1);
  else
    root = "";
  return root;
  }
  
  
function makeUrl (oldurl)
  {
  newurl = oldurl;
  if (newurl.length > 0)
    {
    if (newurl.substring (0, 1) == "/")
      newurl = getRoot() + newurl.substring (1, newurl.length);
    }
  return newurl;
  }
  
  
function deleteFromVector (vector, pos)
  {
  // etwas umständlicher, weil IE 5.0 kein push und pop versteht 
  if (vector != null  &&  vector.length > 0)
    {
    var newVector = new Array (vector.length - 1);
    for (var i = 0; i < pos; i++)
      newVector[i] = vector[i];
    for (var i = pos + 1; i < vector.length; i++)
      newVector[i-1] = vector[i];
    return newVector;
    }
  }


function push (vector, object)
  {
  // etwas umständlicher, weil IE 5.0 kein push versteht 
  if (vector != null)
    {
    var newVector = new Array (vector.length + 1);
    for (var i = 0; i < vector.length; i++)
      newVector[i] = vector[i];
    newVector[newVector.length - 1] = object;
    return newVector;
    }
  }
  
  
/* Funktionen zum Laden der Menüs*/

function preLoadMenuImage (name)
  {
  path = location.href;
  pos = path.indexOf ("?");
  path = path.substring (0, pos);
  pos = path.lastIndexOf ("/");
  path = path.substring (0, pos + 1);
  imagefile = name + "/navigation_" + name;
  top.titel.preLoadImage (path + imagefile + "_aus.gif");
  top.titel.preLoadImage (path + imagefile + "_an.gif");
  }

function setMenu1()
  {
  root = getRoot();
  filename = location.href.toLowerCase();
  filename = filename.substring (root.length, filename.length);
  pos = filename.indexOf ("/");
  navigationfilename = root + "navigation.htm";
  if (pos > 0)
    {
    filename = filename.substr (0, pos);
    navigationfilename = navigationfilename + "?" + filename;
    if (filename == "portfolio")
      top.navigation1_rand.location.replace (root + "empty_navigation.htm");
    else
      top.navigation1_rand.location.replace (root + "empty_inhalt.htm");
    }
  else
    top.navigation1_rand.location.replace (root + "empty_inhalt.htm");
  top.navigation1.location.replace (navigationfilename); 
  }
  

function setMenu2()
  {
  //if (parent.navigation2 != null)
    {
    root = getRoot();
    filename = location.href;
    filename = filename.substring (root.length, filename.length);
    pos = filename.indexOf ("/");
    if (pos >= 0)
      {
      submenu = filename.substr (0, pos);
      submenufilename = root + submenu + "/navigation_" + submenu + ".htm";
      filename = filename.substring (pos + 1, filename.length);
      pos = filename.indexOf ("/");
      itemname = "";
      if (pos > 0)
        {
        itemname = filename.substr (0, pos);
        filename = filename.substring (pos + 1, filename.length);
        submenufilename = submenufilename + "?" + itemname;
        }
      parent.navigation2.location.replace (submenufilename);
      //if (parent.navigation3 != null)
       {
        if (itemname != "")
          {
          submenufilename = root + submenu + "/" + itemname + "/navigation_" + itemname + ".htm";
          pos = filename.indexOf ("/");
          if (pos > 0)
            {
            itemname = filename.substr (0, pos);
            submenufilename = submenufilename + "?" + itemname;
            }
          }
        else
          submenufilename = root + "empty_navigation.htm";
        parent.navigation3.location.replace (submenufilename);
        }
      }
    }
  }
  

function selectMenuItem()
  {
  url = location.href;
  parts = url.split ("?");
  if (parts.length > 1)
    {
    argument = parts[1];
    filename = argument + "/navigation_" + argument + "_an.gif";
    img = document.images[argument];
    if (img == null)
      {
      for (var i = 0; i < document.images.length; i++)
	      {
	      img = document.images[i];
	      if (img.name != argument)
	        img = null;
	      else
	        break;
	      }
      }
    if (img != null)
      img.src = filename;
    }
  }
  
  

function loadLeftSide()
  {
  url = location.href;
  url = url.split("?")[0];
  url = url.substring (0, url.length - 4) + "_bilder.htm";
  parent.inhalt_bilder.location.replace (url);
  }
  
  
function preLoadImage (imagefile)
  {
  if (top.titel)
    top.titel.preLoadImage (imagefile);
  }
  

function ImageWithDescription (imagename, description)
  {
  this.imagename = imagename;
  this.description = description;
  }
  
function addImageWithDescription (imagename, description)
  {
  if (storage == null)
    storage = new Vector();
  preLoadImage (imagename);
  storage = push (storage, new ImageWithDescription (imagename, description));
  }
  
  
function loadImage2 (nr)
  {
  if (storage != null && storage.length >= nr)
    {
    iwd = storage[nr-1];
    loadImage (iwd.imagename, nr, iwd.description);
    }
  }
  
function loadImage (imagefile, thumbnr, description)
  {
  img = document.images["bild"];
  if (img == null)
    img = document.images[0];
  if (img != null)
    {
    /* Bild wechseln */
    img.src = imagefile;    
    /* Beschreibung des Bildes im rechten Teil anzeigen */
    parent.inhalt_text.setDescription (description);    
    /* Ausgewählten Thumbnail mit Rahmen versehen */
    i = 1;
    do
      {
      img = document.images ["thumb" + String(i)];
      if (img == null  &&  i < document.images.length)
        img = document.images[i];
      if (img != null)
        {
        if (i == thumbnr)
          img.border = 1;
        else
          img.border = 0;
        }
      i = i + 1;
      }
    while (img != null);
    }
  }  
  
/* Setzt den Text, der zu einem bestimmten Bild rechts angezeigt wird. Der Text kann in mehrere Abschnitte unterteilt werden, die durch
"<>" getrennt werden. Sie werden dann der Reihe nach auf die Elemente in der rechten HTML-Datei verteilt, die als "beschreibung1", "beschreibung2" etc. benannt sein müssen. */
function setDescription (description)
  {
  if (description != null)
    {
    parts = description.split ("<>");
    if (parts.length == 1)
      {
      element = document.getElementById ("beschreibung");
      if (element != null)
        element.firstChild.nodeValue = description;
      }
    else
      {
      for (var i = 0; i < parts.length; i++)
        {        
        element = document.getElementById ("beschreibung" + String(i + 1));
        if (element != null)
          element.firstChild.nodeValue = parts[i];
        }
      }
    }
  }
  
function loadSelectedImage ()
  {
  url = parent.inhalt_text.location.href;
  parts = url.split ("?");
  if (parts.length > 1)
    {
    loadImage2 (parseInt(parts[1]));
    }
  }

  
function onLoadPortfolio()
  {
  try
    {
    setMenu1();
    setMenu2();
    loadLeftSide();
    }
  catch (e)
    {
    }
  }
  
  
function removeLinkNext()
  {
  element = document.getElementById ("linknext");
  /*if (element != null)
    element.replaceChild (document.createTextNode (" "), element.firstChild);*/
  }
  
  
  
/* Funktion zum Laden der Frames, wenn die Seite einzeln aufgerufen wird */
function loadframes ()
  {
  if (top.location.href.toLowerCase().indexOf (frameName) < 0)
    {
    filename = location.href;
    filename = filename.toLowerCase();
    pos = filename.indexOf ("pockrandt.net");
    var isLocal = (filename.substring (0, 5) == "file:");
    if (pos >= 0  &&  filename.indexOf ("navigation") < 0  &&  filename.indexOf ("startbild") < 0)
      {
      filename = filename.substring (pos + 14, filename.length);
      pos = filename.indexOf ("_bilder");
      if (pos > 0)
        filename = filename.substring (0, pos) + filename.substring (pos + 7, filename.length);
      if (filename.substring (0, 9) == "baustelle")
        filename = filename.substring (10, filename.length);
      encodedFilename = filename;
      try
	      {
	      encodedFilename = encodeURIComponent (filename);
	      }
      catch (e)
	      {
        encodedFilename = encodedFilename.replace (/%2f/gi, "/");
        }
      filename = "?load=" + encodedFilename;
      }
    else
      filename = "";
    try
      {
      if (isLocal)
        top.location.replace ("file://g:/pockrandt.net/" + frameName + filename);
      else
        top.location.replace ("http://www.pockrandt.net/" + frameName + filename);
      }
    catch (e)
      {
      }
    return true;
    }
  return false;
  }
	
  
function loadFileIntoFrame ()
  {
  url = parent.location.href.toLowerCase();
  pos = url.indexOf ("?");
  if (pos > 0)
    {
    url = url.substring (pos + 1, url.length);
    try
      {
      url = decodeURIComponent (decodeURIComponent (url));
      }
    catch (e)
      {
      url = url.replace (/%2f/gi, "/");
      }
    if (url.length > 11 && url.substr (url.length - 11, 11) == "_bilder.htm")
      {
      url = url.substr (0, url.length - 11) + ".htm";
      }
    if (parent.inhalt_text.location.href.indexOf (url) < 0)
      parent.inhalt_text.location.replace (url);
    }
  }
  
  
  
/*allgemein verfügbare Funktion, um Emailadressen nicht im Klartext angeben zu müssen (SPAM!) */
function sendcorrectedemail (address1, address2)
  {
	location.href="mailto:" + address1 + "@" + address2;
	}


/* Funktionen für Zufallverteilung von Thumbnails */


function thumbnailobject (thumbnail, url, title)
  {
  this.thumbnail = thumbnail;
  this.url = url;
  this.title = title;
  }

function thumbnailtopic (topicname)
  {
  this.topicname = topicname;
  this.collection = new Array();
  this.usedcounter = 0;
  }
  
function addThumbnail (topicname, thumbnail, url, title)
  {
  if (thumbnailcollection == null)
    thumbnailcollection = new Array();
  topic = null;
  topicname = topicname.toLowerCase();
  thumbnail = makeUrl (thumbnail);
  url = makeUrl (url);
  for (var i = 0; i < thumbnailcollection.length; i++)
    {
    topic2 = thumbnailcollection[i];
    if (topic2.topicname == topicname)
      topic = topic2;
    }
  if (topic == null)
    {
    topic = new thumbnailtopic (topicname);
    thumbnailcollection = push (thumbnailcollection, topic);
    }
  newthumb = new thumbnailobject (thumbnail, url, title);
  topic.collection = push (topic.collection, newthumb);
  }
  

  
function addThumbnail2 (topicname, thumbname, extension, title, title2)
  {
  addThumbnail (topicname, "/portfolio/" + topicname + "/" + thumbname + "/thumb_" + topicname + "_" + thumbname + extension, "/portfolio/" + topicname + "/" + thumbname + "/" + thumbname + ".htm", title2 + title); 
  }
  
  
function getRandomThumb ()
  {
  if (thumbnailcollection == null)
    return;
  if (thumbnailcollection.length == 0 && secondarythumbnailcollection != null)
    {
    thumbnailcollection = secondarythumbnailcollection;
    }
  if (thumbnailcollection != null && thumbnailcollection.length > 0)
    {
    pos = Math.round (Math.random () * (thumbnailcollection.length - 1));
    topic = thumbnailcollection[pos];
    if (topic.collection.length > 0)
      {
      pos2 = Math.round (Math.random () * (topic.collection.length - 1));
      thumb = topic.collection[pos2];
      topic.collection = deleteFromVector (topic.collection, pos2);
      }
    if (topic.collection.length == 0)
      {
      if (secondarythumbnailcollection == thumbnailcollection)
        secondarythumbnailcollection = null;
      thumbnailcollection = deleteFromVector (thumbnailcollection, pos);
      return thumb;
      }
    topic.usedcounter++;
    if (topic.usedcounter == 2 && thumbnailcollection != secondarythumbnailcollection)
      {
      if (secondarythumbnailcollection == null)
        secondarythumbnailcollection = new Array();
      secondarythumbnailcollection = push (secondarythumbnailcollection, topic);
      thumbnailcollection = deleteFromVector (thumbnailcollection, pos);
      }
    return thumb;
    }
  return null;
  }
  
function getThumb (nr)
  {
  if (thumbnailcollection != null)
    {
    pos = 0;
    for (var j = 0; j < thumbnailcollection.length; j++)
      {
      if (pos + thumbnailcollection[j].collection.length >= nr)
        {
        return thumbnailcollection[j].collection[nr - pos];
        }
      else
        pos = pos + thumbnailcollection[j].collection.length;
      }
    }
  }
  
function distributeThumbnails ()
  {
  if (useWriteThumbFunction)
    return;
  var img;
  var a;
  var pos;
  tablecells = document.getElementsByTagName ("td");
  n = tablecells.length;
  if (n > 0)
    {
    for (var i = 0; i < n; i++)
      {
      if (distributeThumbsRandomly)
        thumbnail = getRandomThumb ();
      else
        thumbnail = getThumb(i);
      if (thumbnail != null)
        {
        preLoadImage (thumbnail.thumbnail);
        a = document.createElement ("a");
        a.setAttribute ("href", thumbnail.url);
        a.setAttribute ("target", "inhalt_text");
        img = document.createElement("img");
        img.setAttribute ("src", thumbnail.thumbnail);
        img.setAttribute ("border", "0");
        img.setAttribute ("title", thumbnail.title);
        a.appendChild (img);
        pos = (i - i % 4) + (3 - (i % 4));
        if (pos >= 0 && pos < tablecells.length)
          { 
          element = tablecells[pos];
          if (element != null)
            element.replaceChild (a, element.firstChild);
          }
        }
      else
        break;
      }
    }
  }
  
  
function writeThumb ()
  {
  if (!useWriteThumbFunction)
    return;
  if (distributeThumbsRandomly)
    thumbnail = getRandomThumb ();
  else
    thumbnail = getThumb(thumbcounter);
  if (thumbnail != null)
    {
    preLoadImage (thumbnail.thumbnail);
    document.write ("<a href=\"" + thumbnail.url + "\" target=\"inhalt_text\">");
    document.write ("<img src=\"" + thumbnail.thumbnail + "\" border=0 title=\"" + thumbnail.title + "\">");
    document.write ("<\/a>");
    thumbcounter++;  
    }
  }
	
  
function addTopicCollection (topicname, withTopicInTitle)
  {
  topicname = topicname.toLowerCase();
  titletopic = "";
  if (topicname == "corporatedesign")
    {
    if (withTopicInTitle)
      titletopic = "Corporate Design - ";
    addThumbnail2 (topicname, "huschke", ".gif", "Huschke", titletopic);
    addThumbnail2 (topicname, "himmelsscheibe", ".gif", "Himmelsscheibe", titletopic);
    addThumbnail2 (topicname, "signets", ".gif", "Signets", titletopic);  
    }
  if (topicname == "illustration")
    {
    if (withTopicInTitle)
      titletopic = "Illustration - ";
    addThumbnail2 (topicname, "blauerritter", ".jpg", "Blauer Ritter", titletopic);
    addThumbnail2 (topicname, "diefliege", ".jpg", "Die Fliege", titletopic);
    addThumbnail2 (topicname, "fuchs", ".gif", "Der Fuchs", titletopic);
    addThumbnail2 (topicname, "fragezeichen", ".gif", "Fragezeichen", titletopic);
    }
  if (topicname == "infografik")
    {
    if (withTopicInTitle)
      titletopic = "Infografik - ";
    addThumbnail2 (topicname, "orientierung", ".gif", "Orientierung", titletopic);
    addThumbnail2 (topicname, "piktogramme", ".gif", "Piktogramme", titletopic);
    }
  if (topicname == "kampagnen")
    {
    if (withTopicInTitle)
      titletopic = "Kampagnen - ";
    addThumbnail2 (topicname, "ausstellung", ".jpg", "Ausstellung", titletopic);
    }
  if (topicname == "merchandising")
    {
    if (withTopicInTitle)
      titletopic = "Merchandising - ";
    addThumbnail2 (topicname, "himmelsscheibe", ".gif", "Himmelsscheibe", titletopic);
    }
  if (topicname == "plakate")
    {
    if (withTopicInTitle)
      titletopic = "Plakate - ";
    addThumbnail2 (topicname, "ausgrenzung", ".gif", "Ausgrenzung", titletopic);
    addThumbnail2 (topicname, "ausstellung", ".jpg", "Ausstellung", titletopic);
    addThumbnail2 (topicname, "gegenaids", "1.gif", "Gegen AIDS", titletopic);
    addThumbnail (topicname, "/portfolio/plakate/gegenaids/thumb_plakate_gegenaids2.gif", "/portfolio/plakate/gegenaids/gegenaids.htm?2", titletopic + "Gegen AIDS");
    addThumbnail2 (topicname, "huschke", ".jpg", "Huschke", titletopic);
    addThumbnail2 (topicname, "laternenfest", ".gif", "Laternenfest", titletopic);
    addThumbnail2 (topicname, "studentenwerk", "1.gif", "Studentenwerk", titletopic);
    addThumbnail (topicname, "/portfolio/plakate/studentenwerk/thumb_plakate_studentenwerk2.jpg", "/portfolio/plakate/studentenwerk/studentenwerk.htm?2", titletopic + "Studentenwerk");
    addThumbnail2 (topicname, "theater", ".jpg", "Theater", titletopic);
    }
  if (topicname == "publikationen")
    {
    if (withTopicInTitle)
      titletopic = "Publikationen - ";
    
    addThumbnail2 (topicname, "broschueren", "_lkj1.gif", "Broschüren", titletopic);
    addThumbnail2 (topicname, "broschueren", "_lkj2.gif", "Broschüren", titletopic);
    addThumbnail2 (topicname, "cdcover", ".jpg", "CD-Cover", titletopic);
    addThumbnail2 (topicname, "etiketten", ".gif", "Etiketten", titletopic);
    
    addThumbnail2 (topicname, "kalender", ".jpg", "Kalender", titletopic);
    addThumbnail2 (topicname, "karten", ".jpg", "Karten", titletopic);
    }
  if (topicname == "publikationen" || topicname == "publikationen-folder")
    {
    if (withTopicInTitle)
      titletopic = "Publikationen - ";
      
    addThumbnail ("publikationen", "/portfolio/publikationen/folder/thumb_publikationen_folder_himmelsscheibe.jpg", "/portfolio/publikationen/folder/himmelsscheibe/folder_himmelsscheibe.htm", titletopic + "Himmelsscheibe");
    addThumbnail ("publikationen", "/portfolio/publikationen/folder/thumb_publikationen_folder_boettger.gif", "/portfolio/publikationen/folder/boettger/folder_boettger.htm", titletopic + "Boettger");
    addThumbnail ("publikationen", "/portfolio/publikationen/folder/thumb_publikationen_folder_kirche.jpg", "/portfolio/publikationen/folder/kirche/folder_kirche.htm", titletopic + "Kirche");
    addThumbnail ("publikationen", "/portfolio/publikationen/folder/thumb_publikationen_folder_awo.gif", "/portfolio/publikationen/folder/awo/folder_awo.htm", titletopic + "AWO");
    }
  if (topicname == "typografie")
    {
    if (withTopicInTitle)
      titletopic = "Corporate Design - ";
    addThumbnail2 ("typografie", "ausstellung", ".jpg", "Typografie", titletopic);
    }
  }

  
  
/* Funktionen für die Thumbs, die als Menü eingesetzt werden. */
function setMenuThumb (menuname, topicname, thumbextension, title)
  {
  topicname = topicname.toLowerCase();
  parts = location.href.toLowerCase().split ("/");
  withlink = !(parts.length > 2 && parts[parts.length - 2] == topicname);
  border = "1";
  if (withlink) 
    {
    document.write ("<a href=\"..\/" + topicname + "\/" + menuname + "_" + topicname + ".htm\" target=\"inhalt_text\">");
    border = "0";
    }
  document.write ("<img src=\"..\/thumb_publikationen_" + menuname + "_" + topicname + thumbextension + "\" border=" + border + " title=\"" + title + "\">");
  if (withlink)
    document.write ("<\/a>");
  }
  

function setMenuThumb2 (topicname)
  {
  topicname = topicname.toLowerCase();
  switch (topicname)
    {
    case "awo":
      setMenuThumb ("folder", "awo", ".gif", "AWO Dresden");
      break;
    case "kirche":
      setMenuThumb ("folder", "kirche", ".jpg", "Kirchgemeinde in Dresden");
      break;
    case "boettger":
      setMenuThumb ("folder", "boettger", ".gif", "Böttger Holzspielzeug");
      break;
    case "himmelsscheibe":
      setMenuThumb ("folder", "himmelsscheibe", ".jpg", "Himmelsscheibe");
      break;
    }
  }



/* Ausführen der Funktionen */

var frameName = "basis.htm";

var counter = 0;
var storage = new Array();  // um Bilder u.a. in den Speicher zu laden

var thumbcounter = 0;
var thumbnailcollection = null;
var secondarythumbnailcollection = null;
var distributeThumbsRandomly = true;
var DOMsupported = new Boolean (false);
var useWriteThumbFunction = true;
try
  {
  //DOMsupported = (document.getElementById != null);
  DOMsupported = (document.createAttribute("scr") != null);		// hier versagt IE 5.0
  }
catch (e)
  {
  DOMsupported = false;
  }
useWriteThumbFunction = !DOMsupported;

if (!loadframes())
  {
  url = location.href.toLowerCase();
  url = url.substring (getRoot().length, url.length);
  parts = url.split ("/");
  if (parts.length > 2 && parts[0] == "portfolio")
    {
    if (url.substr (url.length - 11, 11) != "_bilder.htm"  &&  url.indexOf ("navigation") < 0)
      onLoadPortfolio();
    }
  }





