var n = 0;

var LslMenuEntries = new Array();
n = 0;
//LslMenuEntries[n++] = new MenuEntry("1", "index.html", "Learning Systems Lab", 0);
LslMenuEntries[n++] = new MenuEntry("1", "index.html", "Home", 0);
 
LslMenuEntries[n++] = new MenuEntry("1", "staff.html", "People", 0);
//
LslMenuEntries[n++] = new MenuEntry("2", "amll.html", "Assoc. Prof. Achim Lilienthal", 1);
//LslMenuEntries[n++] = new MenuEntry("2", "tnrn.html", "Thorsteinn Rögnvaldsson", 1);
LslMenuEntries[n++] = new MenuEntry("2", "rrpm.html", "Prof. Rainer Palm", 1);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.hh.se/forskning/professorer/thorsteinnrognvaldsson.1994.html", "Prof. Thorsteinn R&ouml;gnvaldsson", 0);

LslMenuEntries[n++] = new MenuEntry("2", "hkan.html", "Dr. Henrik Andreasson", 1);
LslMenuEntries[n++] = new MenuEntry("2", "ekbd.html", "Dr. Erik Berglund", 1);
LslMenuEntries[n++] = new MenuEntry("2", "aiba.html", "Dr. Abdelbaki Bouguerra", 1);
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.oru.se/templates/oruExtNormal____20579.aspx", "Abdelbaki Bouguerra", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.aass.oru.se/~aba", "Abdelbaki Bouguerra", 0);
LslMenuEntries[n++] = new MenuEntry("2", "drdv.html", "Dr. Dimitar Dimitrov", 1);
LslMenuEntries[n++] = new MenuEntry("2", "boiv.html", "Dr. Boyko Iliev", 1);
LslMenuEntries[n++] = new MenuEntry("2", "mnmn.html", "Dr. Martin Magnusson", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "arsd.html", "Dr. Alexander Skoglund", 0);

LslMenuEntries[n++] = new MenuEntry("2", "hnat.html", "Hĺkan Almqvist", 0);
LslMenuEntries[n++] = new MenuEntry("2", "srai.html", "Sahar Asadi", 0);
LslMenuEntries[n++] = new MenuEntry("2", "kfca.html", "Krzysztof Charusta", 0);
LslMenuEntries[n++] = new MenuEntry("2", "rtkg.html", "Robert Krug", 0);
LslMenuEntries[n++] = new MenuEntry("2", "shpi.html", "Sepideh Pashami", 0);
LslMenuEntries[n++] = new MenuEntry("2", "more.html", "Matteo Reggente", 0);
LslMenuEntries[n++] = new MenuEntry("2", "trsv.html", "Todor Stoyanov", 0);

//LslMenuEntries[n++] = new MenuEntry("2", "aibv.html", "Alexei Borissov", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "jbjk.html", "Jakob Janecek", 0);

LslMenuEntries[n++] = new MenuEntry("1", "staff.html", "Affiliated Researchers", 0);
LslMenuEntries[n++] = new MenuEntry("2", "beky.html", "Dr. Bourhane Kadmiry", 1);
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.oru.se/templates/oruExtNormal____31678.aspx", "Bourhane Kadmiry", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "kshg.html", "Klas Hedenberg", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.his.se/templates/vanligwebbsida1.aspx?id=16369", "Klas Hedenberg", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "snen.html", "Stefan Ericsson", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.his.se/templates/vanligwebbsida1.aspx?id=11744", "Stefan Ericsson", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "jntn.html", "Johan Tegin", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.kth.se/itm/inst/MMK/org/MDA/Medarbetare/1.18224?l=en_UK", "Johan Tegin", 0);

LslMenuEntries[n++] = new MenuEntry("1", "guests.html", "Guest Researchers", 0);

//LslMenuEntries[n++] = new MenuEntry("1", "formerstaff.html", "Former Staff", 0);
LslMenuEntries[n++] = new MenuEntry("1", "formerstaff.html", "Alumni", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://robots.lincoln.ac.uk/users/gcielniak/index.html", "Dr. Grzegorz Cielniak", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "tmdt.html", "Tom Duckett", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.lincoln.ac.uk/dci/staff/1928.asp", "Dr. Tom Duckett", 0);
LslMenuEntries[n++] = new MenuEntry("2", "stka.html", "Shafkat Kibria", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "gzck.html", "Grzegorz Cielniak", 0);
LslMenuEntries[n++] = new MenuEntry("2", "nolink.html", "Dr. Jun Li", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "jnli.html", "Jun Li", 0);
LslMenuEntries[n++] = new MenuEntry("2", "mnlt.html", "Dr. Malin Lindquist", 0);
LslMenuEntries[n++] = new MenuEntry("2", "mnpn.html", "Dr. Martin Persson", 0);
LslMenuEntries[n++] = new MenuEntry("2", "nolink.html", "Linn Robertsson", 0);
LslMenuEntries[n++] = new MenuEntry("2", "arsd.html", "Dr. Alexander Skoglund", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.md.kth.se/~johant/", "Dr. Johan Tegin", 0);
LslMenuEntries[n++] = new MenuEntry("2", "crwn.html", "Christoffer Wahlgren", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "prwe.html", "Dr. Peter Wide", 1);
//
//LslMenuEntries[n++] = new MenuEntry("2", "cnan.html", "Carl Johan Andersson", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "stes.html", "Sahit Erdis", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "jsjn.html", "Jonas Johansson", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "dnpn.html", "Daniel Petersson", 0);

LslMenuEntries[n++] = new MenuEntry("1", "formerguests.html", "Former Guests", 0);

LslMenuEntries[n++] = new MenuEntry("2", "http://www.ce.unipr.it/people/aleotti/", "Dr. Jacopo Aleotti", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "nolink.html", "Dr. Lucia Ballerini", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.inf.ed.ac.uk/people/staff/Lucia_Ballerini.html", "Dr. Lucia Ballerini", 0); // not sure whether this is her
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.gris.uni-tuebingen.de/grisalt/staff/Peter_Biber.html", "Peter Biber", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.gris.uni-tuebingen.de/lehrstuhl/personen/ehemalige/mitarbeiter/112/biber.html", "Dr. Peter Biber", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.informatik.uni-bremen.de/~ufrese", "Prof. Udo Frese", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.gris.uni-tuebingen.de/edu/staff/Benjamin_Huhle.html", "Benjamin Huhle", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.gris.uni-tuebingen.de/lehrstuhl/personen/mitarbeiter/36/huhle.html", "Benjamin Huhle", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "hiia.html", "Hiroshi Ishida", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://kenkyu-web.tuat.ac.jp/Profiles/9/0000803/prof_e.html", "Prof. Hiroshi Ishida", 0);
LslMenuEntries[n++] = new MenuEntry("2", "nolink.html", "Dr. Tom&aacute;s Mart&iacute;nez-Mar&iacute;n", 1);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.informatik.uni-osnabrueck.de/nuechter/", "Dr. Andreas N&uuml;chter", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www-ra.informatik.uni-tuebingen.de/mitarb/treptow", "Dr. Andr&eacute; Treptow", 0);

LslMenuEntries[n++] = new MenuEntry("1", "research.html", "Research Directions", 0);
//
LslMenuEntries[n++] = new MenuEntry("2", "gdm.html", "<em class=\"menuKey\">Mobile Robot Olfaction:</em><br/>Gas Distribution Mapping", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "gsdl.html", "<em class=\"menuKey\">Mobile Robot Olfaction:</em><br/>Gas Source Declaration Learning", 0);
LslMenuEntries[n++] = new MenuEntry("2", "gsdl.html", "Gas Source Declaration Learning", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "gst.html", "<em class=\"menuKey\">Mobile Robot Olfaction:</em><br/>Gas Source Tracking", 0);
LslMenuEntries[n++] = new MenuEntry("2", "gst.html", "Gas Source Tracking", 0);
//
LslMenuEntries[n++] = new MenuEntry("2", "dextman.html", "<em class=\"menuKey\">Dexterous Manipulation and Motion Learning:</em> Dexterous Manipulation", 0);
LslMenuEntries[n++] = new MenuEntry("2", "pbd4robarms.html", "Programming Manipulators by Demonstration", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "dextman.html", "<em class=\"menuKey\">Learning Control:</em><br/>Dexterous Manipulation", 0);
//
LslMenuEntries[n++] = new MenuEntry("2", "dynenvsafeop.html", "<em class=\"menuKey\">Safe Operation in Dynamic Environments</em>", 0);
//
LslMenuEntries[n++] = new MenuEntry("2", "rovi4resy.html", "<em class=\"menuKey\">Robot Vision and 3D Perception:</em><br/>3D Robot Vision for Recognition Systems", 0);
LslMenuEntries[n++] = new MenuEntry("2", "3dscanreg.html", "<em class=\"menuKey\">Robotic Map Learning and 3D Perception:</em><br/>3D Scan Registration and Mapping", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "semanticmaps.html", "<em class=\"menuKey\">Robotic Map Learning:</em><br/>Probabilistic Semantic Mapping", 0);
LslMenuEntries[n++] = new MenuEntry("2", "semanticmaps.html", "<em class=\"menuKey\">Robotic Map Learning and Robot Vision:</em> Probabilistic Semantic Mapping", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "topologicalmaps.html", "<em class=\"menuKey\">Robotic Map Learning:</em><br/>Topological Mapping Using Vision", 0);
LslMenuEntries[n++] = new MenuEntry("2", "topologicalmaps.html", "Topological Mapping Using Vision", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "rovi4resy.html", "<em class=\"menuKey\">Robotic Map Learning:</em><br/>Robot Vision for Recognition Systems", 0);
LslMenuEntries[n++] = new MenuEntry("2", "vispertrack.html", "<em class=\"menuKey\">Robot Vision:</em> Visual Person Tracking", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "vispertrack.html", "<em class=\"menuKey\">Robotic Map Learning:</em><br/>Visual Person Tracking", 0);

//LslMenuEntries[n++] = new MenuEntry("1", "projects.html", "Collaborative Projects", 0);
LslMenuEntries[n++] = new MenuEntry("1", "", "Collaborative Projects", 0);
LslMenuEntries[n++] = new MenuEntry("2", "all4eham/index.html", "ALL-4-eHAM (KKS)", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.robotdalen.se/newsitems/view/124", "ALL-4-eHAM (KKS)", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "", "Amphitech", 0);
LslMenuEntries[n++] = new MenuEntry("2", "dhrscim.html", "DHRS-CIM (EU, Marie Curie IAPP)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.ist-diadem.eu/", "DIADEM (EU, FP7 STREP)", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "", "DIADEM", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.dustbot.org/", "DustBot (EU, FP6 STREP)", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "http://www.aass.oru.se/~dustbot/", "DustBot (EU, FP6 STREP)", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "dustbot.html", "Dustbot", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://www.handle-project.eu/", "HANDLE (EU, FP7 IP)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "isra.html", "ISRA (KKS)", 0); // Design of Components for Safe Robotic Arms
//LslMenuEntries[n++] = new MenuEntry("2", "./isra.html", "ISRA - Intrinsically Safe Robot Arms (KKS)", 0); // Design of Components for Safe Robotic Arms
LslMenuEntries[n++] = new MenuEntry("2", "malta/index.html", "MALTA (KKS)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "sohot.html", "SOHOT", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "sohot.html", "SOHOT", 0);

LslMenuEntries[n++] = new MenuEntry("1", "publications.html", "Publications", 0);
LslMenuEntries[n++] = new MenuEntry("2", "publications.html#pub_books", "Books", 0);
LslMenuEntries[n++] = new MenuEntry("2", "publications.html#pub_articles", "Refereed Journal Articles and Book Chapters", 0);
LslMenuEntries[n++] = new MenuEntry("2", "publications.html#pub_papers", "Refereed Conference Papers", 0);
LslMenuEntries[n++] = new MenuEntry("2", "publications.html#pub_workshops", "Refereed Workshop Papers", 0);
LslMenuEntries[n++] = new MenuEntry("2", "publications.html#pub_theses", "Theses", 0);

LslMenuEntries[n++] = new MenuEntry("1", "nolink.html", "Courses", 0);

LslMenuEntries[n++] = new MenuEntry("2", "courses/dip/2010/index.html", "Digital Image Processing (2010)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "drdv_dir/course_mbs.html", "Multibody Simulation (2009)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "drdv_dir/course_mc.html", "Manipulation and Control (2009)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "drdv_dir/course_ipw.html", "Integrated Project - Robotic Butler II (2009)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "courses/ml/2009/index.html", "Machine Learning (2009)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "courses/dip/2009/index.html", "Digital Image Processing (2009)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "courses/ml/2008/index.html", "Machine Learning (2008)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "courses/dip/2008/index.html", "Digital Image Processing (2008)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "courses/ml/2007/index.html", "Machine Learning (2007)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "courses/dip/2007/index.html", "Digital Image Processing (2007)", 0);

LslMenuEntries[n++] = new MenuEntry("1", "sprojs.html", "Available Student Projects", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "studentprojects/3D_Reconstruction_From_Omnidirectional_Images.html", "3D Reconstruction from Omni-Images", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "studentprojects/Feature_Based_Representation_and_Visualisation_Over_Seasons.html", "Feature Based Visualisation and Representation", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "studentprojects/Real_Time_Signal_Processing_of_Inertial_Sensor.html", "Scanning While Moving with Inertial Sensor", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "studentprojects/LSL_Exjob_Projects-2007_11_13.pdf", "Exjobs Presentation 2007 [PDF, 16.5MB]", 0);
LslMenuEntries[n++] = new MenuEntry("2", "studentprojects/Masters_Thesis_Proposals_2009.html", "Master Thesis Proposals", 0);

//LslMenuEntries[n++] = new MenuEntry("1", "positions.html", "Open Positions", 0);
LslMenuEntries[n++] = new MenuEntry("1", "positions.html", "<em class=\"msg\">Open Positions</em>", 0);
//LslMenuEntries[n++] = new MenuEntry("1", "positions.html", "<em class=\"msg\">Open PhD Positions</em>", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/PhD_Position-Metric_Topological_Visual_Maps-MAPIR_Lab.pdf", "Metr.+Top. Visual Maps@Malaga [PDF, 0.2MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "openpostdocpos.html", "<em class=\"msg\">Postdoc Positions</em>", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/PhD_Positions-DIADEM.pdf", "DHRS-CIM [PDF, 0.3MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "openphdpos.html", "<em class=\"msg\">PhD Positions</em>", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/Postdoc_Position-HANDLE.pdf", "Postdoc, HANDLE [PDF, 0.2MB]", 0);
LslMenuEntries[n++] = new MenuEntry("2", "announcements/Postdoc_Position-DHRS_CIM.pdf", "Postdoc, DHRS-CIM [PDF, 0.3MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/PhD_Position-ALL4eHAM.pdf", "PhD, ALL-4-eHAM [PDF, 0.3MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/PhD_Position-DIADEM_2009.pdf", "PhD, DIADEM [PDF, 0.3MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/PhD_Position_HANDLE_2009.pdf", "PhD, HANDLE [PDF, 0.2MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/PhD_Positions-DIADEM.pdf", "DIADEM [PDF, 0.3MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "announcements/PhD_Position-3D_Sensing_for_Navigation.pdf.pdf", "3D Sensing for Navigation [PDF, 0.3MB]", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "openphdposfaq.html", "PhD Positions, FAQ", 0);

//LslMenuEntries[n++] = new MenuEntry("1", "", "Misc", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "misc/conference_checklist.html", "Conference Travel Checklist", 0);
//LslMenuEntries[n++] = new MenuEntry("2", "misc/LsLabPageTodo.html", "Web Page TODO List", 0);

LslMenuEntries[n++] = new MenuEntry("1", "", "Internal Pages", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://cvs.aass.oru.se/twiki/bin/view/LearningSystemsLab/ArtificialOlfactionSeminar", "Artificial Olfaction Seminar (TWiki)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://cvs.aass.oru.se/twiki/bin/view/LearningSystemsLab/LearningLabMeetings", "Lab Meetings (TWiki)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://cvs.aass.oru.se/twiki/bin/view/LearningSystemsLab/PresentationResources", "Presentation Resources (TWiki)", 0);
LslMenuEntries[n++] = new MenuEntry("2", "http://wiki.aass.oru.se/twiki/bin/view/LearningSystemsLab/LabLaptop", "Lab Labtop (TWiki)", 0);

LslMenuEntries[n++] = new MenuEntry("1", "help.html", "Help", 0);

//LslMenuEntries[n++] = new MenuEntry("1", "http://www.ecmr09.fer.hr", "<em class=\"msg\">ECMR 2009</em>", 0);


// NOTE that relative links won't work since they may appear on different levels of the folder hierarchy 
// -> use "[[ROOT]]" in links to refer to the root folder, for example <a href=\"[[ROOT]]/mll.html\" ...
var LslNewsEntries = new Array();
n = 0;
LslNewsEntries[n++] = new NewsEntry("2010/03/17", "<a href=\"http://cvs.aass.oru.se/twiki/bin/view/LearningSystemsLab/ArtificialOlfactionSeminar\">Artificial Olfaction Seminar</a>: Introduction to Chemosensors II (<a href=\"./srai.html\">Sahar Asadi</a>).");
LslNewsEntries[n++] = new NewsEntry("2010/03/10", "<a href=\"http://cvs.aass.oru.se/twiki/bin/view/LearningSystemsLab/ArtificialOlfactionSeminar\">Artificial Olfaction Seminar</a>: Introduction to Chemosensors (<a href=\"./srai.html\">Sahar Asadi</a>).");
LslNewsEntries[n++] = new NewsEntry("2010/02/17", "<a href=\"http://cvs.aass.oru.se/twiki/bin/view/LearningSystemsLab/ArtificialOlfactionSeminar\">Artificial Olfaction Seminar</a>: Design of Experiments for Robotic Olfaction (<a href=\"http://aass.oru.se/~mti/\">Marco Trincavelli</a>).");
LslNewsEntries[n++] = new NewsEntry("2010/02/03", "<a href=\"http://cvs.aass.oru.se/twiki/bin/view/LearningSystemsLab/ArtificialOlfactionSeminar\">Artificial Olfaction Seminar</a>: Seminar Introduction and Work at EPFL-DISAL (<a href=\"[[ROOT]]/amll.html\">Achim Lilienthal</a>).");
LslNewsEntries[n++] = new NewsEntry("2010/01/26", "Invited seminar <a href=\"./publications/2010/Lilienthal_2010-Field_Robotics_at_AASS_LS_Lab.pdf\">\"Field Robotics Research at the AASS Learning Systems Lab\"</a> at the <a href=\"http://disal.epfl.ch\">DISAL group</a>, <a href=\"http://www.epfl.ch/index.en.html\">EPFL</a>, Lausanne (<a href=\"[[ROOT]]/amll.html\">Achim Lilienthal</a>).");
LslNewsEntries[n++] = new NewsEntry("2010/01/11", "Final DustBot review in Luxembourg.");
LslNewsEntries[n++] = new NewsEntry("2009/12/14 - 2009/12/18", "Mobile Robot Olfaction Lecture at Tianjing University (<a href=\"[[ROOT]]/amll.html\">Achim Lilienthal</a>).");
LslNewsEntries[n++] = new NewsEntry("2009/12/04", "<a href=\"[[ROOT]]/mnmn.html\">Martin Magnusson</a> defends his PhD thesis \"The Three-Dimensional Normal-Distributions Transform - an Efficient Representation for Registration, Surface Analysis, and Loop Detection\". The opponent is <a href=\"http://www.informatik.uni-freiburg.de/~burgard/\">Prof. Wolfram Burgard</a>, <a href=\"http://ais.informatik.uni-freiburg.de/\">AIS Lab</a>, Freiburg University, Germany.");
LslNewsEntries[n++] = new NewsEntry("2009/12/04", "Invited presentation \"Graph-based SLAM: How to extend it to incorporate prior knowledge and how to use it for the evaluation of SLAM algorithm\" by <a href=\"http://www.informatik.uni-freiburg.de/~burgard/\">Prof. Wolfram Burgard</a>, <a href=\"http://ais.informatik.uni-freiburg.de/\">AIS Lab</a>, Freiburg University, Germany."); 
LslNewsEntries[n++] = new NewsEntry("2009/12/03", "Invited presentation \"Generic Intelligent Machines Research\" by <a href=\"http://autsys.tkk.fi/en/PekkaForsman\">Pekka Forsman</a>, <a href=\"http://www.tkk.fi/en/\">AS department of Helsinki University of Technology (TKK)</a>."); 
LslNewsEntries[n++] = new NewsEntry("2009/11/01", "<a href=\"[[ROOT]]/ekbd.html\">Erik Berglund</a> starts as a postdoc."); 
LslNewsEntries[n++] = new NewsEntry("2009/10/26", "Invited presentation \"Cognitive Approaches in Team Robotics\" by <a href=\"http://www.ipvs.uni-stuttgart.de/abteilungen/bv/abteilung/mitarbeiter/Paul.Levi\">Prof. Dr. rer. nat. habil. Paul Levi</a>, <a href=\"http://www.ipvs.uni-stuttgart.de/start\">IPVS</a> at <a href=\"http://www.ipvs.uni-stuttgart.de/\">Stuttgart University</a>."); 
LslNewsEntries[n++] = new NewsEntry("2009/10/19", "Invited presentation \"3D Time-of-Flight Ranging for Robotic Perception in Dynamic Environments\" by Dr. Stefan May from <a href=\"http://www.inria.fr/inria/organigramme/fiche_ur-sop.en.html\">INRIA</a>, Nice."); 
LslNewsEntries[n++] = new NewsEntry("2009/09/23 - 2009/09/25", "<a href=\"http://www.ecmr09.fer.hr\">ECMR 2009</a> conference in Dubrovnik. ECMR 2011 will be in Örebro!");
LslNewsEntries[n++] = new NewsEntry("2009/09/14", "<a href=\"[[ROOT]]/hnat.html\">Hĺkan Almqvist</a> starts his PhD."); 
LslNewsEntries[n++] = new NewsEntry("2009/09/01", "<a href=\"[[ROOT]]/rtkg.html\">Robert Krug</a> starts his PhD."); 
LslNewsEntries[n++] = new NewsEntry("2009/07/25", "Dustbot demonstration in Örebro (see <a href=\"http://www.youtube.com/watch?v=3EAYND2VE_A\">SVT 1 News, July 24</a>; <a href=\"http://www.youtube.com/watch?v=Fd__eI9NbGo\">TV 4 News, July 24</a>; <a href=\"http://www.youtube.com/watch?v=7ZHFaWCI6iY\">TG2 News, July 25</a>.)"); 
LslNewsEntries[n++] = new NewsEntry("2009/06/15", "Invited presentation \"A Probabilistic Approach to Distributed (Odor) Source Localization\" by <a href=\"http://www5.epfl.ch/swis/page13695.html\">Thomas Lochmatter</a>, <a href=\"http://disal.epfl.ch\">DISAL lab</a> at <a href=\"http://www.epfl.ch/index.en.html\">EPFL</a>, Lausanne."); 
LslNewsEntries[n++] = new NewsEntry("2009/06/09", "<a href=\"[[ROOT]]/arsd.html\">Alexander Skoglund</a> defends his PhD thesis \"Programming by Demonstration of Robot Manipulators\"."); 
LslNewsEntries[n++] = new NewsEntry("2009/05/23", "Dustbot demonstration in Peccioli (see <a href=\"http://news.bbc.co.uk/2/hi/8072619.stm\">BBC News, May 29</a>.)"); 
LslNewsEntries[n++] = new NewsEntry("2009/04/19 - 2009/04/20", "Visiting <a href=\"http://disal.epfl.ch/people/alcherio\">Alcherio Martinoli's</a> group, the <a href=\"http://disal.epfl.ch\">DISAL lab</a> at <a href=\"http://www.epfl.ch/index.en.html\">EPFL</a>. Invited presentations by Marco Trincavelli and <a href=\"[[ROOT]]/amll.html\">Achim</a>.");
//LslNewsEntries[n++] = new NewsEntry("2009/04/19 - 2009/04/20", "Visit of <a href=\"http://disal.epfl.ch/people/alcherio\">Alcherio Martinoli's</a> group, the <a href=\"http://disal.epfl.ch\">DISAL lab</a> at <a href=\"http://www.epfl.ch/index.en.html\">EPFL</a>. Invited presentations by Marco Trincavelli ('Classification of Odours for Mobile Robotics') and <a href=\"[[ROOT]]/amll.html\">Achim</a> ('<a href=\"./publications/2009/Lilienthal_2009-Stat_GDM_with_Kernel_DMpV_and_Beyond.pdf\">Statistical Approaches to Gas Distribution Modelling with Mobile Robots – The Kernel DM+V Algorithm and Beyond</a>').");
LslNewsEntries[n++] = new NewsEntry("2009/04/15 - 2009/04/17", "<a href=\"[[ROOT]]/more.html\">Matteo</a>, Marco Trincavelli and <a href=\"http://isoen\">Achim</a> attend the <a href=\"http://www.isoen.org/\">ISOEN</a> conference (Int. Symposium on Electronic Nose) and present their work."); 
LslNewsEntries[n++] = new NewsEntry("2009/03/10", "<a href=\"[[ROOT]]/amll.html\">Achim</a> visits <a href=\"http://www.i3s.unice.fr/~rendas/personal/vanglais/rendaspublic.htm\">Prof. Joao Rendas</a> at CNRS-UNSA, Nice University for two days to work on gas distribution modelling."); 
LslNewsEntries[n++] = new NewsEntry("2009/03/03", "Demo 2 in the <a href=\"[[ROOT]]/malta/index.html\">MALTA</a> project: autonomous forklift truck loading and unloading paper reels at <u>un</u>known positions."); 
LslNewsEntries[n++] = new NewsEntry("2009/02/26", "ALL-4-eHAM preparation meeting with Volvo CE and NCC."); 
LslNewsEntries[n++] = new NewsEntry("2009/01/22", "Invited presentation \"Agricultural Robotics\" by <a href=\"http://www.gris.uni-tuebingen.de/lehrstuhl/personen/ehemalige/mitarbeiter/112/biber.html\">Dr. Peter Biber</a>, Robert Bosch GmbH, Germany."); 
LslNewsEntries[n++] = new NewsEntry("2009/01/08", "<a href=\"[[ROOT]]/srai.html\">Sahar Asadi</a> starts her PhD."); 
LslNewsEntries[n++] = new NewsEntry("2009/01/08", "Third review of the DustBot project."); 
LslNewsEntries[n++] = new NewsEntry("2008/12/19", "ALL-4-eHAM project proposal accepted by <a href=\"http://www.kks.se/\">KKS</a>!"); 
//LslNewsEntries[n++] = new NewsEntry("2008/12/19", "ALL-4-eHAM project proposal (Fully <u>A</u>utonomous Whee<u>l</u> <u>L</u>oaders <u>for</u> <u>E</u>fficient <u>Ha</u>ndling of Heterogeneous <u>M</u>aterials) accepted by <a href=\"http://www.kks.se/\">KKS</a>!"); 
//LslNewsEntries[n++] = new NewsEntry("2008/12/19", "<a href=\"http://www.kks.se/\">KKS</a> accepts the project proposal ALL-4-eHAM! (Fully <u>A</u>utonomous Whee<u>l</u> <u>L</u>oaders <u>for</u> <u>E</u>fficient <u>Ha</u>ndling of Heterogeneous <u>M</u>aterials)"); 
//LslNewsEntries[n++] = new NewsEntry("2008/12/19", "Acceptance of the ALL-4-eHAM project proposal by <a href=\"http://www.kks.se/\">KKS</a>! ALL-4-eHAM = Fully <u>A</u>utonomous Whee<u>l</u> <u>L</u>oaders <u>for</u> <u>E</u>fficient <u>Ha</u>ndling of Heterogeneous <u>M</u>aterials"); 
LslNewsEntries[n++] = new NewsEntry("2008/12/12", "Demo 1 in the <a href=\"[[ROOT]]/malta/index.html\">MALTA</a> project: autonomous forklift truck loading and unloading paper reels at known positions."); 
LslNewsEntries[n++] = new NewsEntry("2008/10/23 - 2008/10/24", "Presentation of the <a href=\"[[ROOT]]/malta/index.html\">MALTA</a> project at Tekniska Mässan in Stockholm."); 
LslNewsEntries[n++] = new NewsEntry("2008/10/13", "Invited presentation \"Region Shape Descriptors for Improved Robustness to Illumination and Near Occlusions\" by <a href=\"http://www.isy.liu.se/~perfo/\">Dr. Per-Erik Forssén</a>, Computer Vision Laboratory, Linköping University."); 
LslNewsEntries[n++] = new NewsEntry("2008/10/06 - 2008/10/07", "DustBot General Assembly Meeting in Pontedera."); 
LslNewsEntries[n++] = new NewsEntry("2008/10/01", "<a href=\"[[ROOT]]/aiba.html\">Abdelbaki Bouguerra</a> and <a href=\"[[ROOT]]/hkan.html\">Henrik Andreasson</a> start their postdoc positions."); 
LslNewsEntries[n++] = new NewsEntry("2008/09/30", "<a href=\"[[ROOT]]/aiba.html\">Abdelbaki Bouguerra</a> defends his PhD thesis \"Robust Execution of Robot Task-Plans: A Knowledge-based Approach\"."); 
LslNewsEntries[n++] = new NewsEntry("2008/09/29", "<a href=\"[[ROOT]]/hkan.html\">Henrik Andreasson</a> defends his PhD thesis \"Local Visual Feature based Localisation and Mapping by Mobile Robots\". The opponent is <a href=\"http://www.cs.ubc.ca/~little/\">Prof. Jim Little</a>, University of British Columbia, Canada."); 
LslNewsEntries[n++] = new NewsEntry("2008/09/29", "Invited presentation \"Spatial Search for Finding Objects\" by <a href=\"http://www.cs.ubc.ca/~little/\">Prof. Jim Little</a>, University of British Columbia, Canada."); 
//LslNewsEntries[n++] = new NewsEntry("2008/09/15", "<a href=\"http://www.icra2009.org/\">ICRA</a> deadline!"); 
LslNewsEntries[n++] = new NewsEntry("2008/09/12", "<a href=\"[[ROOT]]/mnpn.html\">Martin Persson</a> defends his PhD thesis \"Semantic Mapping using Virtual Sensors and Fusion of Aerial Images with Sensor Data from a Ground Vehicle\"."); 
LslNewsEntries[n++] = new NewsEntry("2008/09/12", "Invited presentation \"Research at the <a href=\"http://babel.isa.uma.es/mapir/\">MAchine Perception and Intelligent Robotics (MAPIR) Group</a>\" by <a href=\"http://www.isa.uma.es/jgonzalez/\">Prof. Javier Gonzalez</a>, University of Málaga, Spain."); 
LslNewsEntries[n++] = new NewsEntry("2008/09/03", "<a href=\"[[ROOT]]/trsv.html\">Todor Stoyanov</a> starts his PhD."); 
LslNewsEntries[n++] = new NewsEntry("2008/09/01", "Start of the EU STREP project DIADEM (Distributed Information Acquisition and Decision-Making for Environmental Management)."); 
LslNewsEntries[n++] = new NewsEntry("2008/09/01", "Start of the EU IAPP project DHRS-CIM (Distributed Human-Robot System for Chemical Incident Management)."); 
LslNewsEntries[n++] = new NewsEntry("2008/04/08", "<a href=\"[[ROOT]]/amll.html\">Achim's</a> docent lecture: \"Introduction to Object Recognition – Can Huge Amounts of Data do the Work for us?\"."); 
LslNewsEntries[n++] = new NewsEntry("2008/03/01", "Start of the KKS funded project MALTA (Multiple Autonomous fork Lifts for Transportation Applications)."); 
//LslNewsEntries[n++] = new NewsEntry("2008/02/27", "<a href=\"http://www.ias-10.org/\">IAS</a> deadline!"); 
LslNewsEntries[n++] = new NewsEntry("2008/02/24", "<a href=\"http://www.vasaloppet.se/wps/VasaCMS/generated/resources.Startsidan/startsidan/se/1.html\">Vasaloppet 2008</a> mastered by four brave guys from AASS: Krzysztof (8:11:07, 11.0 km/h), Kevin Le Blanc (9:15:54, 9.7 km/h), Mattias Seeman (8:59:13, 10.0 km/h), Marco Trincavelli (8:53:31, 10.1 km/h). Great!"); 
LslNewsEntries[n++] = new NewsEntry("2008/02/18", "Invited presentation \"Biorobotics for chemical source localization\" by Gabriele Ferri, Scuola Superiore Sant'Anna, CRIM Lab, Italy.");
//LslNewsEntries[n++] = new NewsEntry("2008/02/22", "<a href=\"http://iros2008.inria.fr/\">IROS</a> deadline!"); 
//LslNewsEntries[n++] = new NewsEntry("2008/02/15", "<a href=\"http://www.ias-10.org/\">IAS</a> deadline!"); 
//LslNewsEntries[n++] = new NewsEntry("2008/01/07", "<a href=\"[[ROOT]]/amll.html\">Achim Lilienthal</a> visits Cyril Stachnis and Christian Plagemann at the University of Freiburg for a research week.");
LslNewsEntries[n++] = new NewsEntry("2008/01/07", "<a href=\"[[ROOT]]/amll.html\">Achim Lilienthal</a> visits Wolfram Burgard's group for one week at Freiburg University and works with Cyril Stachnis and Christian Plagemann."); 
LslNewsEntries[n++] = new NewsEntry("2007/12/19", "The MALTA project (Multiple Autonomous fork Lifts for Transportation Applications) was approved by KKS!"); 
LslNewsEntries[n++] = new NewsEntry("2007/12/18", "<a href=\"[[ROOT]]/lnrn.html\">Linn Robertsson</a> presents her licentiate thesis \"Perception Modeling and Feature Extraction for an Electronic Tounge\"."); 
LslNewsEntries[n++] = new NewsEntry("2007/12/15", "<a href=\"[[ROOT]]/drdv.html\">Dimitar Dimitrov</a> starts as a postdoc."); 
LslNewsEntries[n++] = new NewsEntry("2007/11/01", "<a href=\"[[ROOT]]/stka.html\">Shafkat Kibria</a> starts his PhD.");
LslNewsEntries[n++] = new NewsEntry("2007/10/07", "Andreas N&uuml;chter and Christopher Lörken leave after their one week visit at AASS.");
LslNewsEntries[n++] = new NewsEntry("2007/10/05", "Invited presentation \"Automatic semantic 3D map building using a 3D laser range finder and a mobile robot\" by <a href=\"http://www.informatik.uni-osnabrueck.de/nuechter/\">Dr. Andreas Nüchter</a>, University of Osnabrück, Germany.");
LslNewsEntries[n++] = new NewsEntry("2007/10/02", "The FP7 Marie Curie IAPP project DHRS-CIM (Distributed Human-Robot System for Chemical Incident Management) was approved by the EU!");
LslNewsEntries[n++] = new NewsEntry("2007/10/01", "<a href=\"[[ROOT]]/kfca.html\">Krzysztof Charusta</a> starts his PhD."); 
LslNewsEntries[n++] = new NewsEntry("2007/10/01", "Andreas N&uuml;chter and Christopher Lörken arrive for a one week visit at AASS."); 
LslNewsEntries[n++] = new NewsEntry("2007/09/28", "<a href=\"http://www.gris.uni-tuebingen.de/edu/staff/Benjamin_Huhle.html\">Benjamin Huhle</a> leaves after his research stay at AASS."); 
LslNewsEntries[n++] = new NewsEntry("2007/09/18", "<a href=\"[[ROOT]]/hiia.html\">Hiroshi Ishida</a> leaves after his research stay at AASS."); 
LslNewsEntries[n++] = new NewsEntry("2007/09/14", "<a href=\"[[ROOT]]/crwn.html\">Christoffer Wahlgren</a> presents his Licentiate thesis \"Topological Mapping and Localization Using Omnidirectional Vision\". His opponent will be <a href=\"http://www.cas.kth.se/~patric/\">Patric Jensfelt</a>."); 
//LslNewsEntries[n++] = new NewsEntry("2007/09/14", "ICRA deadline!"); 
//LslNewsEntries[n++] = new NewsEntry("2007/08/30", "<a href=\"[[ROOT]]/cnan.html\">Carl Johan Andersson</a> presents his D-level thesis \"Comparison of Local Image Features on the GPU\"."); 
LslNewsEntries[n++] = new NewsEntry("2007/07/24", "<a href=\"http://www.gris.uni-tuebingen.de/edu/staff/Benjamin_Huhle.html\">Benjamin Huhle</a> arrives for a two month research stay at AASS."); 
LslNewsEntries[n++] = new NewsEntry("2007/06/01", "<a href=\"[[ROOT]]/more.html\">Matteo Reggente</a> starts his PhD."); 
LslNewsEntries[n++] = new NewsEntry("2007/05/29", "<a href=\"[[ROOT]]/stes.html\">Sahit Erdis</a> presents his C-level thesis \"Automatic Time Scale Selection for Sample Based Background Modeling\".");
LslNewsEntries[n++] = new NewsEntry("2007/05/26", "Invited presentation \"Development and Application of Taste Sensing System\" by Prof. Masaaki Habara, Graduate School of System Life Science, Kyushu University, Japan."); 
LslNewsEntries[n++] = new NewsEntry("2007/05/26", "Invited presentation \"Development and Application of Odor Code Sensing\" by Prof. Kenshi Hayashi, Graduate School of Information Science and Electrical Engineering, Kyushu University, Japan."); 
LslNewsEntries[n++] = new NewsEntry("2007/04/27", "Grzegorz Cielniak defends his PhD thesis \"People Tracking by Mobile Robots using Thermal and Colour Vision\"."); 
LslNewsEntries[n++] = new NewsEntry("2007/04/27", "Invited presentation by <a href=\"http://staff.science.uva.nl/~krose/index_en.html\">Dr. Ben Kröse</a>, University of Amsterdam, The Netherlands."); 
LslNewsEntries[n++] = new NewsEntry("2007/04/25", "New LS Lab Website goes online."); 
LslNewsEntries[n++] = new NewsEntry("2007/04/02", "<a href=\"[[ROOT]]/hiia.html\">Hiroshi Ishida</a> arrives for a six month research stay."); 
//LslNewsEntries[n++] = new NewsEntry("2007/03/27", "IROS Deadline extended to April 9!"); 
LslNewsEntries[n++] = new NewsEntry("2007/03/26", "<a href=\"[[ROOT]]/stes.html\">Sahit Erdis</a> starts his Master project (10p C-level exjobb).");
LslNewsEntries[n++] = new NewsEntry("2007/02/16", "<a href=\"[[ROOT]]/mnlt.html\">Malin Lindquist</a> defends her PhD thesis \"Electronic Tongue for Water Quality Assessment\"."); 
LslNewsEntries[n++] = new NewsEntry("2007/02/05", "<a href=\"[[ROOT]]/cnan.html\">Carl Johan Andersson</a> starts his Master project (20p D-level exjobb)."); 
LslNewsEntries[n++] = new NewsEntry("2007/02/05", "Daniel Pettersson and Jonas Johansson start their post-Master project HOSOT - Halmstad Skoevde OErebro Outdoor Tourguide."); 
LslNewsEntries[n++] = new NewsEntry("2006/12/01", "Start of the EU STREP project Dustbot (Networked and Cooperating Robots for Urban Hygiene). See <a href=\"http://www.youtube.com/watch?v=NDTG7yBGN3M\">DustBot on Youtube</a>; <a href=\"http://www.youtube.com/watch?v=Swrwe4NYG4o\">Euronews, Futuris</a>."); 

var LslSlideshowEntries = new Array();
n = 0;

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ICRA05_01.jpg", "2005/04/18", "Sven Fleck, Tanja, Achim, Tom and Tomás Martínez during ICRA 2005 in Barcelona.", "slideshow/ICRA05_01_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ICRA05_02.jpg", "2005/04/21", "Achim, Sven Fleck and Amy during ICRA 2005 in Barcelona.", "slideshow/ICRA05_02_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ICRA05_03.jpg", "2005/04/21", "Achim, Sven Fleck and Amy during ICRA 2005 in Barcelona.", "slideshow/ICRA05_03_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ICRA05_04.jpg", "2005/04/22", "Achim and Sven Fleck during ICRA 2005 in Barcelona.", "slideshow/ICRA05_04_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ICRA05_05.jpg", "2005/04/23", "Achim and Amy during ICRA 2005 in Barcelona.", "slideshow/ICRA05_05_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Oljehamnen_2005.jpg", "Summer 2005", "Achim, Greg and Tom relaxing at Oljehamnen.", "slideshow/Oljehamnen_2005_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/AASS_Football.jpg", "2005/08/30", "One of the intense AASS football matches that take place semi-regularly during the summer.", "slideshow/AASS_Football_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Achim_and_Tom.jpg", "2006/02/15", "Tom Duckett leaves AASS to start a new position as a senior lecturer at the university of Lincoln.", "slideshow/Achim_and_Tom_w800.jpg");
 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Toyota_SLAM_Benchmark_01.jpg", "2006/03/18", "Our robot \"Tjorven\" during a presentation within the Toyota SLAM benchmark test.", "slideshow/Toyota_SLAM_Benchmark_01_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_Lic_01.jpg", "2006/09/01", "Alexander Skoglund's Licentiate presentation; Johanna and Alexander.", "slideshow/Alex_Lic_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_Lic_02.jpg", "2006/09/01", "Alexander Skoglund's Licentiate presentation; Danica, Patric, Achim and Boyko.", "slideshow/Alex_Lic_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_Lic_03.jpg", "2006/09/01", "Alexander Skoglund's Licentiate presentation - Alexander addresses the final Licentiate task.", "slideshow/Alex_Lic_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_Lic_04.jpg", "2006/09/01", "Alexander Skoglund's Licentiate presentation; Mattias, Jun, Malin, a bit of Kevin, Amy and Henrik.", "slideshow/Alex_Lic_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_Lic_05.jpg", "2006/09/01", "Alexander Skoglund's Licentiate presentation; Johanna and Alexander.", "slideshow/Alex_Lic_05_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_Lic_06.jpg", "2006/09/01", "Alexander Skoglund's Licentiate presentation; Danica, Achim and Alexander.", "slideshow/Alex_Lic_06_w800.jpg");
 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinM_Lic_01.jpg", "2006/09/08", "Martin Magnusson's Licentiate presentation.", "slideshow/MartinM_Lic_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinM_Lic_02.jpg", "2006/09/08", "Martin Magnusson's Licentiate presentation; Joachim Hertzberg and Martin.", "slideshow/MartinM_Lic_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinM_Lic_03.jpg", "2006/09/08", "Martin Magnusson's Licentiate presentation; the virtually traditional Licentiate princes torta.", "slideshow/MartinM_Lic_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinM_Lic_04.jpg", "2006/09/08", "Martin Magnusson's Licentiate presentation; Achim, Lars and Martin.", "slideshow/MartinM_Lic_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinM_Lic_05.jpg", "2006/09/08", "Martin Magnusson's Licentiate presentation; Joachim Hertzberg, Achim, Lars and Martin.", "slideshow/MartinM_Lic_05_w800.jpg");
 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS06_01.jpg", "2006/10/07", "Martin P, Achim and Christoffer during IROS in Beijing.", "slideshow/IROS06_01_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS06_02.jpg", "2006/10/12", "Jan Weingarten and Achim during the IROS Banquet in the Great Hall of the People, Beijing.", "slideshow/IROS06_02_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_01.jpg", "2006/10/20", "Jun Li's PhD defense.", "slideshow/JunLi_PhD_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_02.jpg", "2006/10/20", "Jun Li's PhD defense.", "slideshow/JunLi_PhD_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_03.jpg", "2006/10/20", "Jun Li's PhD defense; Tom, Jun and Achim.", "slideshow/JunLi_PhD_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_04.jpg", "2006/10/20", "Jun Li's PhD defense; Tom, Achim, Jun and Tom Ziemke.", "slideshow/JunLi_PhD_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_05.jpg", "2006/10/20", "Jun Li's PhD defense; George Fodor, Lars Asplund, Tom Ziemke, Achim, Jun, Jacek Malec and Tom.", "slideshow/JunLi_PhD_05_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_06.jpg", "2006/10/20", "Jun Li's PhD defense; Tom Ziemke, Achim, Jun, Jacek Malec and Tom.", "slideshow/JunLi_PhD_06_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_07.jpg", "2006/10/20", "Jun Li's PhD defense; George Fodor, Lars Asplund, Tom Ziemke, Achim and Jun.", "slideshow/JunLi_PhD_07_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/JunLi_PhD_08.jpg", "2006/10/20", "Jun Li's PhD defense; Tom Ziemke, Achim, Jun, Jacek Malec and Tom.", "slideshow/JunLi_PhD_08_w800.jpg");
 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Malin_PhD_01.jpg", "2007/02/16", "Malin Lindquist's PhD defense.", "slideshow/Malin_PhD_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Malin_PhD_02.jpg", "2007/02/16", "Malin Lindquist's PhD defense.", "slideshow/Malin_PhD_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Malin_PhD_03.jpg", "2007/02/16", "Malin Lindquist's PhD defense; Malin, Conny, Inger and George Fodor.", "slideshow/Malin_PhD_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Malin_PhD_04.jpg", "2007/02/16", "Malin Lindquist's PhD defense; Malin, Alexander Lauber, Mel Siegel, Bertil Svensson and Gunilla Lindström.", "slideshow/Malin_PhD_04_w800.jpg"); 

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ICRA07_01.jpg", "2007/04/11", "Abdel, Robert, Christoffer, Amy and Sara during ICRA 2007 in Rome.", "slideshow/ICRA07_01_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ICRA07_02.jpg", "2007/04/14", "Achim waiting for his presentation at ICRA 2007 in Rome.", "slideshow/ICRA07_02_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_01.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Grzegorz presents his thesis.", "slideshow/Greg_PhD_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_02.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Achim, Ben Kröse and Grzegorz.", "slideshow/Greg_PhD_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_03.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Grzegorz waiting for the final verdict.", "slideshow/Greg_PhD_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_04.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Danica, Lars Asplund, Achim, Denni, Ben Kröse, Tom and Grzegorz.", "slideshow/Greg_PhD_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_05.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Ben Kröse, Tom and Grzegorz.", "slideshow/Greg_PhD_05_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_06.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Barbro, Grzegorz and the cakes.", "slideshow/Greg_PhD_06_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_07.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Lars Asplund, Ben Kröse, Danica, Grzegorz, Tom and Achim.", "slideshow/Greg_PhD_07_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_08.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Lars Asplund, Ben Kröse, Danica, Grzegorz, Tom and Achim.", "slideshow/Greg_PhD_08_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_PhD_09.jpg", "2007/02/27", "Grzegorz Cielniak's PhD defense; Lars Asplund, Ben Kröse, Danica, Grzegorz, Tom and Achim.", "slideshow/Greg_PhD_09_w800.jpg"); 

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_AfterPhD_01.jpg", "2007/02/28", "Greg (= Grzegorz) more relaxed after the PhD defense.", "slideshow/Greg_AfterPhD_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Greg_AfterPhD_02.jpg", "2007/02/28", "Tanja, Helena and Greg (= Grzegorz), more relaxed after the PhD defense.", "slideshow/Greg_AfterPhD_02_w800.jpg"); 

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/CIRA_2007_01.jpg", "2007/06/22", "Boyko and Martin during CIRA 2007 in Jacksonville, Florida.", "slideshow/CIRA_2007_01_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Lincoln_2007_01.jpg", "2007/07/07", "Visit in Lincoln: Greg, Achim and Tom.", "slideshow/Lincoln_2007_01_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/PSSSC_2007.jpg", "2007/08/20", "Player/Stage Summer School in Munich: Alexei and Jakob.", "slideshow/PSSSC_2007_w632.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/New_Robot_Alfred_01.jpg", "2007/09/07", "Introduction to the new robot 'Alfred': Daniel, Stefan, Klas, Achim, Hiroshi, Alexei, Martin M, Henrik.", "slideshow/New_Robot_Alfred_01_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/New_Robot_Alfred_02.jpg", "2007/09/07", "Introduction to the new robot 'Alfred': Matteo, Karol, Jakob, Alexei, Martin M.", "slideshow/New_Robot_Alfred_02_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Christoffer_Lic_01.jpg", "2007/09/14", "Christoffer Wahlgren's Licentiate presentation.", "slideshow/Christoffer_Lic_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Christoffer_Lic_02.jpg", "2007/09/14", "Christoffer Wahlgren's Licentiate presentation.", "slideshow/Christoffer_Lic_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Christoffer_Lic_03.jpg", "2007/09/14", "Christoffer Wahlgren's Licentiate presentation; Achim, Denni, Christoffer, Patric Jensfelt, Tom.", "slideshow/Christoffer_Lic_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Christoffer_Lic_04.jpg", "2007/09/14", "Christoffer Wahlgren's Licentiate presentation; Achim, Denni, Christoffer, Patric Jensfelt, Tom.", "slideshow/Christoffer_Lic_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Christoffer_Lic_05.jpg", "2007/09/14", "Achim, Christoffer, Christoffer's family and Tom in Drängen restaurant after the Licentiate presentation.", "slideshow/Christoffer_Lic_05_w800.jpg"); 

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ECMR_2007_01.jpg", "2007/09/21", "Achim presents 'SIFT, SURF and Seasons' during ECMR 2007 in Freiburg.", "slideshow/ECMR_2007_01_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ECMR_2007_02.jpg", "2007/09/21", "Achim, Albert and Michal Gnatkowski at ECMR 2007 in Freiburg.", "slideshow/ECMR_2007_02_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ECMR_2007_03.jpg", "2007/09/20", "ECMR'07: Giorgio Grisetti, Andreas N&uuml;chter, Achim, Simone Frintrop, Cyril Stachniss, Janna, Maren Bennewitz and Henrik", "slideshow/ECMR_2007_03_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Kurt3D_Kvarntorp_Mission_01.jpg", "2007/10/03", "Andreas N&uuml;chter and Christopher Lörken prepare for the 'Kurt3D goes Kvarntorp' mission.", "slideshow/Kurt3D_Kvarntorp_Mission_01_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Kurt3D_Kvarntorp_Mission_02.jpg", "2007/10/03", "Andreas N&uuml;chter and Kurt3D in the Kvarntorp mine.", "slideshow/Kurt3D_Kvarntorp_Mission_02_w800.jpg");
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Kurt3D_Kvarntorp_Mission_03.jpg", "2007/10/03", "Andreas N&uuml;chter, Christopher Lörken and Martin M with Kurt3D in the large robot (Kvarntorp mine).", "slideshow/Kurt3D_Kvarntorp_Mission_03_w800.jpg");

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinP_PhD_01.jpg", "2008/09/12", "Martin Persson's PhD defense; Martin presents his thesis.", "slideshow/MartinP_PhD_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinP_PhD_02.jpg", "2008/09/12", "Martin Persson's PhD defense; well-deserved cake afterwards (left: Javier Gonzalez).", "slideshow/MartinP_PhD_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinP_PhD_03.jpg", "2008/09/12", "Martin Persson's PhD defense; well-deserved cake afterwards (left: Javier Gonzalez).", "slideshow/MartinP_PhD_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinP_PhD_04.jpg", "2008/09/12", "Martin Persson's PhD defense; opponent Javier Gonzalez is hungry.", "slideshow/MartinP_PhD_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/MartinP_PhD_05.jpg", "2008/09/12", "Martin Persson's PhD defense; Martin, Achim and Javier Gonzalez.", "slideshow/MartinP_PhD_05_w800.jpg"); 

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS_2008_01.jpg", "2008/09/24", "IROS '08 Banquet: Stefan May and Achim.", "slideshow/IROS_2008_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS_2008_02.jpg", "2008/09/25", "IROS '08: Marco Trincavelli during his presentation.", "slideshow/IROS_2008_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS_2008_03.jpg", "2008/09/25", "IROS '08 evenings: Mirko Bordignon and Marco Trincavelli.", "slideshow/IROS_2008_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS_2008_04.jpg", "2008/09/25", "IROS '08 evenings: Achim, Stefan May and Martin M.", "slideshow/IROS_2008_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS_2008_05.jpg", "2008/09/27", "IROS '08 evenings: Marco Trincavelli borrowed sun glasses.", "slideshow/IROS_2008_05_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS_2008_06.jpg", "2008/09/27", "IROS '08 evenings: Happy Marco Trincavelli borrowed sun glasses.", "slideshow/IROS_2008_06_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/IROS_2008_07.jpg", "2008/09/27", "IROS '08 evenings: Stefan May and Achim.", "slideshow/IROS_2008_07_w800.jpg"); 
// 75 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Henrik_PhD_01.jpg", "2008/09/29", "Henrik Andreasson's PhD defense; Per-Erik Forssén, Lars Asplund, Silvia Coradeschi, Henrik, Achim, Jim Little.", "slideshow/Henrik_PhD_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Henrik_PhD_02.jpg", "2008/09/29", "Henrik Andreasson's PhD defense; Preparation before the big show!", "slideshow/Henrik_PhD_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Henrik_PhD_03.jpg", "2008/09/29", "Henrik Andreasson's PhD defense; Henrik and the cake (background right: Per-Erik Forssén).", "slideshow/Henrik_PhD_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Henrik_PhD_04.jpg", "2008/09/29", "Henrik Andreasson's PhD defense; Henrik and the cake.", "slideshow/Henrik_PhD_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Henrik_PhD_05.jpg", "2008/09/29", "Henrik Andreasson's PhD defense; Henrik and Malin.", "slideshow/Henrik_PhD_05_w800.jpg"); 
// 80 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Abdel_PhD_01.jpg", "2008/09/30", "Abdelbaki Bouguerra's PhD defense; Lars Karlsson and Abdelbaki.", "slideshow/Abdel_PhD_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Abdel_PhD_02.jpg", "2008/09/30", "Abdelbaki Bouguerra's PhD defense; Utmost concentration.", "slideshow/Abdel_PhD_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Abdel_PhD_03.jpg", "2008/09/30", "Abdelbaki Bouguerra's PhD defense; Alessandro Saffiotti, Joachim Hertzberg and Felix Ingrand.", "slideshow/Abdel_PhD_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Abdel_PhD_04.jpg", "2008/09/30", "Abdelbaki Bouguerra's PhD defense; Done! (Left: George Fodor).", "slideshow/Abdel_PhD_04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Abdel_PhD_05.jpg", "2008/09/30", "Abdelbaki Bouguerra's PhD defense; Not so bad after all! Lars Karlsson, Alessandro Saffiotti, Abdelbaki and Froduald Kabanza.", "slideshow/Abdel_PhD_05_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Abdel_PhD_06.jpg", "2008/09/30", "Abdelbaki Bouguerra's PhD defense; The questions. Abdelbaki and Froduald Kabanza.", "slideshow/Abdel_PhD_06_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Abdel_PhD_07.jpg", "2008/09/30", "Abdelbaki Bouguerra's PhD defense; Presentation by the opponent Froduald Kabanza (right: Abdelbaki).", "slideshow/Abdel_PhD_07_w800.jpg"); 
// 87 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_General_Assembly_Meeting_01.jpg", "2008/10/06", "Matteo and the DustBot people. Coffee break.", "slideshow/DustBot_General_Assembly_Meeting_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_General_Assembly_Meeting_02.jpg", "2008/10/06", "Matteo and the DustBot people. Coffee break.", "slideshow/DustBot_General_Assembly_Meeting_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_General_Assembly_Meeting_03.jpg", "2008/10/07", "Todor, Achim and Matteo in the midst of happy DustBot people.", "slideshow/DustBot_General_Assembly_Meeting_03_w800.jpg"); 
// 90 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Luigi_got_a_Paper_accepted_or_what.jpg", "2008/02/09", "Alexei, Krzystof alias Luigi and Enrico. Someone got a paper accepted?", "slideshow/Luigi_got_a_Paper_accepted_or_what_w505.jpg"); 
// 91 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Review_Meeting_01.jpg", "2009/01/08", "The EC project officer is testing the DustCart prototype.", "slideshow/DustBot_Review_Meeting_01_w800.jpg"); 
// 92 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Brega_01.jpg", "2009/02/23", "The DustCart robot appearing in a good light! And Gabriele Ferri (on the right) as well.", "slideshow/DustBot_Brega_01_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Brega_02.jpg", "2009/02/23", "Happy DustCart robot. Happy Barbara Mazzolai.", "slideshow/DustBot_Brega_02_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Brega_03.jpg", "2009/02/23", "The DustCart robot with some DustBot people.", "slideshow/DustBot_Brega_03_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Brega_04.jpg", "2009/02/23", "DustCart robot meets the Italian cyclist.", "slideshow/DustBot_Brega_04_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Brega_05.jpg", "2009/02/23", "DustCart robot in action.", "slideshow/DustBot_Brega_05_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Brega_06.jpg", "2009/02/23", "The DustCart robot developed in the DustBot project.", "slideshow/DustBot_Brega_06_w600.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Brega_07.jpg", "2009/02/23", "The DustCart robot at the seaside.", "slideshow/DustBot_Brega_07_w1024.jpg"); 
// 99 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Dustbot_Demo_Osaka_01.jpg", "2009/01/29", "DustCart robot and Robovie during a joint demonstration in Osaka.", "slideshow/Dustbot_Demo_Osaka_01_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Dustbot_Demo_Osaka_02.jpg", "2009/01/29", "DustCart robot and Cecilia Laschi during a DustBot demonstration in Osaka.", "slideshow/Dustbot_Demo_Osaka_02_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Dustbot_Demo_Osaka_03.jpg", "2009/01/29", "DustCart robot surrounded by DustBot people during a demonstration in Osaka.", "slideshow/Dustbot_Demo_Osaka_03_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Dustbot_Demo_Osaka_04.jpg", "2009/01/29", "Cecilia Laschi, DustCart robot and Barbara Mazzolai during a DustBot demonstration in Osaka.", "slideshow/Dustbot_Demo_Osaka_04_w800.jpg"); 
// 103 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Skiing_01.jpg", "2009/01/12", "Skiing in Ĺre - Luigi, Marco and Matteo.", "slideshow/Skiing_01_w800.jpg"); 
// 104 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Vasaloppet_Practice_01.jpg", "2008/12/07", "Marcello Cirillo, Marco and Luigi during practice for Vasaloppet.", "slideshow/Vasaloppet_Practice_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Vasaloppet_Practice_02.jpg", "2008/12/07", "Matteo, Marcello Cirillo and Marco during practice for Vasaloppet.", "slideshow/Vasaloppet_Practice_02_w640.jpg"); 
// 106 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Mushroom.jpg", "2008/08/23", "Federico Pecora, Matteo and Luigi - Finally somebody found something to eat!", "slideshow/Mushroom_w1024.jpg"); 
// 107 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Innebandy_01.jpg", "2009/01/23", "Innebandy almost every Saturday! Marios, Achim, Tosho, Mitko, Lars and Matthias motion blurred in different degrees.", "slideshow/Innebandy_01_w1024.jpg"); 
// 108 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ISOEN_2009_01.jpg", "2009/04/15", "ISOEN: Matteo during his presentation (3D Statistical Gas Distribution Mapping in an Uncontrolled Indoor Environment).", "slideshow/ISOEN_2009_01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ISOEN_2009_02.jpg", "2009/04/15", "ISOEN: Matteo during his presentation (3D Statistical Gas Distribution Mapping in an Uncontrolled Indoor Environment).", "slideshow/ISOEN_2009_02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ISOEN_2009_03.jpg", "2009/04/15", "ISOEN: Matteo and Thomas Lochmatter.", "slideshow/ISOEN_2009_03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/ISOEN_2009_04.jpg", "2009/04/15", "ISOEN: Marco, Thomas Lochmatter and Hiroshi Ishida.", "slideshow/ISOEN_2009_04_w800.jpg"); 
// 112 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/LSL_Group_Photo_2009_05_08_01.jpg", "2009/05/08", "LS Lab Meeting. Not on the photo are: Todor, Denni, Rainer, Peter, Klas, Stefan, Johan, and Bourhane.", "slideshow/LSL_Group_Photo_2009_05_08_01_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/LSL_Group_Photo_2009_05_08_02.jpg", "2009/05/08", "LS Lab Meeting. Not on the photo are: Todor, Denni, Rainer, Peter, Klas, Stefan, Johan, and Bourhane.", "slideshow/LSL_Group_Photo_2009_05_08_02_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/LSL_Group_Photo_2009_05_08_03.jpg", "2009/05/08", "LS Lab Meeting. Not on the photo are: Todor, Denni, Rainer, Peter, Klas, Stefan, Johan, and Bourhane.", "slideshow/LSL_Group_Photo_2009_05_08_03_w1024.jpg"); 
// 115 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_01.jpg", "2009/06/09", "Alexander Skoglund's PhD defense.", "slideshow/Alex_PhD_01_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_02.jpg", "2009/06/09", "Alexander Skoglund's PhD defense.", "slideshow/Alex_PhD_02_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_03.jpg", "2009/06/09", "Alexander Skoglund's PhD defense; Matteo is delighted!", "slideshow/Alex_PhD_03_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_04.jpg", "2009/06/09", "Alexander Skoglund's PhD defense; Alexander, Rainer Palm, and Prof. José Santos Victor.", "slideshow/Alex_PhD_04_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_05.jpg", "2009/06/09", "Alexander Skoglund's PhD defense; Alexander and Rainer Palm.", "slideshow/Alex_PhD_05_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_06.jpg", "2009/06/09", "Alexander Skoglund's PhD defense; Alexander and Boyko.", "slideshow/Alex_PhD_06_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_07.jpg", "2009/06/09", "Alexander Skoglund's PhD defense; Johanna and Alexander.", "slideshow/Alex_PhD_07_w1024.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Alex_PhD_08.jpg", "2009/06/09", "Alexander Skoglund's PhD defense; Prof. José Santos Victor, Alexander with Juni, and Prof. Honghai Liu.", "slideshow/Alex_PhD_08_w1024.jpg"); 
// 123 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-01.jpg", "2009/04/27", "Visiting the ALL-4-eHAM demonstration site; Martin and an ALL-4-eHAM truck lifting up Tjorven.", "slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-01_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-02.jpg", "2009/04/27", "Visiting the ALL-4-eHAM demonstration site; the ALL-4-eHAM truck is lifting up Tjorven.", "slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-02_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-03.jpg", "2009/04/27", "Visiting the ALL-4-eHAM demonstration site; the ALL-4-eHAM truck.", "slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-03_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-04.jpg", "2009/04/27", "Visiting the ALL-4-eHAM demonstration site; the ALL-4-eHAM truck lifting up Tjorven.", "slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-04_w800.jpg"); 
LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-05.jpg", "2009/04/27", "The ALL-4-eHAM truck is lifting up its smaller autonomous brother Tjorven.", "slideshow/Visiting_ALL4eHAM_Testsite_2009_04_27-05_w800.jpg"); 
// 128 pictures so far

LslSlideshowEntries[n++] = new SlideshowEntry("slideshow/DustBot_Demo_01.jpg", "2009/07/25", "DustBot Demonstration in Örebro: The DustBot-Team.", "slideshow/DustBot_Demo_01_w1024.jpg"); 
// 129 pictures so far

//------------------------------------ 
// Initialise All Scripting Functions
//------------------------------------ 
function init(strLevel) {

  // remove "switch on JavaScript" messages
  removeJsStatement();
   
  // add standard elements
  addLslHeader(strLevel);
  addLslMenubar(strLevel);
  activateMenubar();
  addLslFooter(strLevel);
  addLslNewsBar(strLevel);
  slideshowStart(strLevel);
	initLightbox();
}

//------------------- 
// Add LS Lab Header
//-------------------
function removeJsStatement() {
  var contentDiv = document.getElementById("Content");
  var jsStatementDiv = document.getElementById("JsMessage");
  if(jsStatementDiv) {
    contentDiv.removeChild(jsStatementDiv);
  }
}

//------------------- 
// Add LS Lab Header
//-------------------
function addLslHeader(strLevel) {

  // <div id="Header"></div>
  var headerDiv = document.createElement("div");
  var headerDivId = document.createAttribute("id");
  headerDivId.value = "Header";
  headerDiv.setAttributeNode(headerDivId);
  
  // <img src="images/LSL_WebPage_Header_Left.png" width="255" height="80" alt="the Learning Systems Lab Web Page" title="the Learning Systems Lab Web Page" />
  var imgNode = document.createElement("img");
  var imgSrc = document.createAttribute("src");
  imgSrc.value = "" + strLevel + "/images/LSL_WebPage_Header_Left.png";
  imgNode.setAttributeNode(imgSrc);
  var imgWidth = document.createAttribute("width");
  imgWidth.value = "195";
  imgNode.setAttributeNode(imgWidth);
  var imgHeight = document.createAttribute("height");
  imgHeight.value = "80";
  imgNode.setAttributeNode(imgHeight);
  var imgAlt = document.createAttribute("alt");
  imgAlt.value = "the Learning Systems Lab Web Page";
  imgNode.setAttributeNode(imgAlt);
  var imgTitle = document.createAttribute("title");
  imgTitle.value = "the Learning Systems Lab Web Page";
  imgNode.setAttributeNode(imgTitle);
  
  // add to the DOM
  headerDiv.appendChild(imgNode);  
  document.body.appendChild(headerDiv);
}

//------------------- 
// Add LS Lab Footer
//-------------------
function addLslFooter(strLevel) {

  // <div id="Footer"></div>
  var footerDiv = document.createElement("div");
  var footerDivId = document.createAttribute("id");
  footerDivId.value = "Footer";
  footerDiv.setAttributeNode(footerDivId);
  
  // text inside
  footerDiv.innerHTML = "<table width=\"100%\ border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"120\"><img src=\"" + strLevel + "/images/LSL_Logo_h29_noborder.png\" width=\"119\" height=\"29\" alt=\"Learning Systems Lab\" title=\"Learning Systems Lab\" /></td><td align=\"right\">AASS Learning Systems Lab<br />\nAssoc. Prof. Dr. Achim Lilienthal</td></tr></table>";

  // add to the DOM
  document.body.appendChild(footerDiv);
}

//-------------------- 
// Add LS Lab Menubar
//--------------------
function addLslMenubar(strLevel) {

  // <div id="MenuBar"></div>
  var menubarDiv = document.createElement("div");
  var menubarDivId = document.createAttribute("id");
  menubarDivId.value = "MenuBar";
  menubarDiv.setAttributeNode(menubarDivId);
  
  // <ul id="Menu" class="LslMenu"></ul>
  var ulL1 = document.createElement("ul");
  var ulL1Id = document.createAttribute("id");
  ulL1Id.value = "Menu";
  ulL1.setAttributeNode(ulL1Id);
  var ulL1Class = document.createAttribute("class");
  ulL1Class.value = "LslMenu";
  ulL1.setAttributeNode(ulL1Class);
  var ulL2, ulL3;
  
  var i;
  var currentParentLevelL1, currentParentLevelL2, currentParentLevelL2;
  var lastLevel = 1;
  for(i = 0; i < LslMenuEntries.length; i++) {
  
    if(LslMenuEntries[i].level == "1") {
      
      // <li><a href="./index.html">Learning Systems Lab</a></li>
      var liL1 = document.createElement("li");
      if(LslMenuEntries[i].href != "") {
        if((LslMenuEntries[i].href).substring(0,7) == "http://")
          liL1.innerHTML = "<a href=\"" + LslMenuEntries[i].href + "\">" + LslMenuEntries[i].text + "</a>";
        else 
          liL1.innerHTML = "<a href=\"" + strLevel + "/" + LslMenuEntries[i].href + "\">" + LslMenuEntries[i].text + "</a>";
      }
      else
        liL1.innerHTML = "<a href=\"\">" + LslMenuEntries[i].text + "</a>";
      //var liL1A = document.createElement("a");
      //var liL1AHref = document.createAttribute("href");
      //liL1AHref.value = "" + strLevel + "/" + LslMenuEntries[i].href;
      
      //liL1A.setAttributeNode(liL1AHref);
      //var liL1AText = document.createTextNode(LslMenuEntries[i].text); // ää
      //liL1A.appendChild(liL1AText);
      
      // add to the DOM
      //liL1.appendChild(liL1A);
      ulL1.appendChild(liL1);
      menubarDiv.appendChild(ulL1);
      
      // remember current parent level
      currentParentLevelL1 = liL1;
    }
    else {
    
      // <li><a href="./index.html">Learning Systems Lab</a></li>
      var liL2P = document.createElement("li");
      switch(LslMenuEntries[i].shadingId) {
        case 0:
          if(LslMenuEntries[i].href != "") {
            if((LslMenuEntries[i].href).substring(0,7) == "http://")
              liL2P.innerHTML = "<a href=\"" + LslMenuEntries[i].href + "\">" + LslMenuEntries[i].text + "</a>";
            else 
              liL2P.innerHTML = "<a href=\"" + strLevel + "/" + LslMenuEntries[i].href + "\">" + LslMenuEntries[i].text + "</a>";
          }
          else
            liL2P.innerHTML = "<a href=\"\">" + LslMenuEntries[i].text + "</a>";
          break;       
        case 1:
          if(LslMenuEntries[i].href != "") 
            liL2P.innerHTML = "<a class=\"bg1\" href=\"" + strLevel + "/" + LslMenuEntries[i].href + "\">" + LslMenuEntries[i].text + "</a>";
          else
            liL2P.innerHTML = "<a class=\"bg1\" href=\"\">" + LslMenuEntries[i].text + "</a>";
          break;
      }
      //liL2P.innerHTML = "<a href=\"" + strLevel + "/" + LslMenuEntries[i].href + "\">" + LslMenuEntries[i].text + "</a>";
      //var liL2PA = document.createElement("a");
      // set background colour
/*      
      var liL2PAStyle = document.createAttribute("style");
      switch(LslMenuEntries[i].shadingId) {
        case 0:
          break;       
        case 1:
          liL2PAStyle.value = "background:#DDDDE8;";
          break;
        case 2:
          liL2PAStyle.value = "background:#BBB;";
          break;
        case 3:
          liL2PAStyle.value = "background:#AAA;";
          break;
        default:
          liL2PAStyle.value = LslMenuEntries[i].shadingId;
      }
      liL2P.setAttributeNode(liL2PAStyle);
*/      
      //var liL2PAHref = document.createAttribute("href");
      //liL2PAHref.value = "" + strLevel + "/" + LslMenuEntries[i].href;
      //liL2PA.setAttributeNode(liL2PAHref);
      //var liL2PAText = document.createTextNode(LslMenuEntries[i].text);
      
      // add to the DOM
      //liL2PA.appendChild(liL2PAText);
      //liL2P.appendChild(liL2PA);
      
      // conditional creation of "ul" nodes
      if(LslMenuEntries[i].level == "2") {
        if(lastLevel == 1) { 
          // <ul></ul>
          ulL2 = document.createElement("ul");
          currentParentLevelL1.appendChild(ulL2);
        }
        // remember current parent level
        currentParentLevelL2 = liL2P;
      }
      if(LslMenuEntries[i].level == "3") { // does not work properly at the moment
        if(lastLevel == 2) { 
          // <ul></ul>
          ulL3 = document.createElement("ul");
          currentParentLevelL2.appendChild(ulL3);
        }
        currentParentLevelL3 = liL2P;
      }

      //  
      if(LslMenuEntries[i].level == "2") {
        ulL2.appendChild(liL2P);
      }
      if(LslMenuEntries[i].level == "3") {
        ulL3.appendChild(liL2P);
      }
    }
    
    lastLevel = LslMenuEntries[i].level;   
  }

  // add to the DOM
  document.body.appendChild(menubarDiv);
}
 
//------------------ 
// Activate Menubar
//------------------
function activateMenubar() {

  var submenuoffset = 0; //Offset of submenus from main menu. Default is -2 pixels.
  
  var ultags = document.getElementById("Menu").getElementsByTagName("ul");
  for(var t = 0; t < ultags.length; t++){
    var spanref=document.createElement("span")
    spanref.className="arrowdiv";
    spanref.innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;";
    
    ultags[t].parentNode.getElementsByTagName("a")[0].appendChild(spanref);
    ultags[t].parentNode.onmouseover = function() {
      this.getElementsByTagName("ul")[0].style.left = this.parentNode.offsetWidth + submenuoffset + "px";
      this.getElementsByTagName("ul")[0].style.display = "block";
    }
    ultags[t].parentNode.onmouseout = function() {
      this.getElementsByTagName("ul")[0].style.display = "none";
    }
  }
  
  if (window.addEventListener)
    window.addEventListener("load", activateMenubar, false);
  else if (window.attachEvent)
    window.attachEvent("onload", activateMenubar);
}

//------------------- 
// Add LS Lab Header
//-------------------
function addLslNewsBar(strLevel) {

  // <div id="NewsArea"></div>
  var newsAreaDiv = document.createElement("div");
  var newsAreaDivId = document.createAttribute("id");
  newsAreaDivId.value = "NewsArea";
  newsAreaDiv.setAttributeNode(newsAreaDivId);
  
  // <div id="NewsAreaSlideshow">Slideshow</div>
  var newsAreaSlideshowDiv = document.createElement("div");
  var newsAreaSlideshowDivId = document.createAttribute("id");
  newsAreaSlideshowDivId.value = "NewsAreaSlideshow";
  newsAreaSlideshowDiv.setAttributeNode(newsAreaSlideshowDivId);
  
  // <div id="NewsAreaHeader">Slideshow</div>
  var newsAreaHeaderDiv = document.createElement("div");
  var newsAreaHeaderDivClass = document.createAttribute("class");
  newsAreaHeaderDivClass.value = "NewsAreaHeader";
  newsAreaHeaderDiv.setAttributeNode(newsAreaHeaderDivClass);
  var newsAreaHeaderText = document.createTextNode("Slideshow");
  newsAreaHeaderDiv.appendChild(newsAreaHeaderText);
  
  // <div id="NewsAreaSlideshowImage"></div>
  var newsAreaSlideshowImageDiv = document.createElement("div");
  var newsAreaSlideshowImageDivId = document.createAttribute("id");
  newsAreaSlideshowImageDivId.value = "NewsAreaSlideshowImage";
  newsAreaSlideshowImageDiv.setAttributeNode(newsAreaSlideshowImageDivId);

  // <div id="NewsAreaSlideshowCaptionBox"></div>
  var newsAreaSlideshowCaptionBoxDiv = document.createElement("div");
  var newsAreaSlideshowCaptionBoxDivId = document.createAttribute("id");
  newsAreaSlideshowCaptionBoxDivId.value = "NewsAreaSlideshowCaptionBox";
  newsAreaSlideshowCaptionBoxDiv.setAttributeNode(newsAreaSlideshowCaptionBoxDivId);

  // <div id="NewsAreaSlideshowCaption"></div>
  var newsAreaSlideshowCaptionDiv = document.createElement("div");
  var newsAreaSlideshowCaptionDivId = document.createAttribute("id");
  newsAreaSlideshowCaptionDivId.value = "NewsAreaSlideshowCaption";
  newsAreaSlideshowCaptionDiv.setAttributeNode(newsAreaSlideshowCaptionDivId);

  // <div id="NewsAreaNews"></div>
  var newsAreaNewsDiv = document.createElement("div");
  var newsAreaNewsDivId = document.createAttribute("id");
  newsAreaNewsDivId.value = "NewsAreaNews";
  newsAreaNewsDiv.setAttributeNode(newsAreaNewsDivId);

  // <div id="NewsAreaNewsBox"></div>
  var newsAreaNewsBoxDiv = document.createElement("div");
  var newsAreaNewsBoxDivId = document.createAttribute("id");
  newsAreaNewsBoxDivId.value = "NewsAreaNewsBox";
  newsAreaNewsBoxDiv.setAttributeNode(newsAreaNewsBoxDivId);

  // <div id="NewsAreaHeader">News</div>
  var newsAreaNewsHeaderDiv = document.createElement("div");
  var newsAreaNewsHeaderDivClass = document.createAttribute("class");
  newsAreaNewsHeaderDivClass.value = "NewsAreaHeader";
  newsAreaNewsHeaderDiv.setAttributeNode(newsAreaNewsHeaderDivClass);
  var newsAreaNewsHeaderText = document.createTextNode("News");
  newsAreaNewsHeaderDiv.appendChild(newsAreaNewsHeaderText);

  // add to the DOM
  newsAreaSlideshowCaptionBoxDiv.appendChild(newsAreaSlideshowCaptionDiv);
  newsAreaSlideshowDiv.appendChild(newsAreaHeaderDiv);  
  newsAreaSlideshowDiv.appendChild(newsAreaSlideshowImageDiv);  
  newsAreaSlideshowDiv.appendChild(newsAreaSlideshowCaptionBoxDiv);  
  newsAreaDiv.appendChild(newsAreaSlideshowDiv);
  
  newsAreaNewsDiv.appendChild(newsAreaNewsHeaderDiv);  
  newsAreaNewsDiv.appendChild(newsAreaNewsBoxDiv);  
  newsAreaDiv.appendChild(newsAreaNewsDiv);
    
  document.body.appendChild(newsAreaDiv);
  
  // Set News
  //newsAreaObj = document.getElementById("NewsAreaNewsBox");
  //for(i = 0; i < LslNewsEntries.length; i++) {
  //  newsAreaObj.innerHTML += "<b>" + LslNewsEntries[i].date + ":</b><br />\n";
  //  // replace [[ROOT]] element to allow for relative links
  //  newsAreaObj.innerHTML += (LslNewsEntries[i].text).replace(/\[\[ROOT\]\]/,strLevel);
  //  if(i != LslNewsEntries.length - 1) 
  //    newsAreaObj.innerHTML += "<br /><hr />\n";
  //}
	
	// Collect News 
  formattedNews = "";
  for(i = 0; i < LslNewsEntries.length; i++) {
    formattedNews += "<b>" + LslNewsEntries[i].date + ":</b><br />\n";
    // replace [[ROOT]] element to allow for relative links
    formattedNews += (LslNewsEntries[i].text).replace(/\[\[ROOT\]\]/,strLevel);
    if(i != LslNewsEntries.length - 1) 
      formattedNews += "<br /><hr />\n";
  }

  // Set News
  document.body.appendChild(newsAreaDiv);
  newsAreaObj = document.getElementById("NewsAreaNewsBox");
	newsAreaObj.innerHTML = formattedNews; 
}

var currImage = -1;
var nextImage = -1;
var slideshowDelay = 15000;
var slideshowDelayAfterFullImage = 2500;
var slideshowStarted = 0;

//----------- 
// Slideshow
//-----------
var currentStrLevel;
function slideshowStart(strLevel) {
  currentStrLevel = strLevel;
  slideshow();
}

function slideshow() {

  // pre-load next image
  if(nextImage == -1) {
    currImage = Math.floor(Math.random() * LslSlideshowEntries.length);
  }
  else {
    currImage = nextImage;
  }
  nextImage = Math.floor(Math.random() * LslSlideshowEntries.length);
  var cachedImage = new Image()
  cachedImage.src = LslSlideshowEntries[currImage].image;
 

  // select next new image //ää
  //window.status = currImage; 
  
  // set new image
  var newsAreaSlideshowImageObj = document.getElementById("NewsAreaSlideshowImage");
  
  if(LslSlideshowEntries[currImage].fullImgLink != "") {
    newsAreaSlideshowImageObj.innerHTML = "<a href=\"" + currentStrLevel + "/" + LslSlideshowEntries[currImage].fullImgLink + "\" rel=\"lightbox\" title=\"" + LslSlideshowEntries[currImage].caption + "\"><img src=\"" + currentStrLevel + "/" + LslSlideshowEntries[currImage].image + "\" width=\"186\" height=\"140\" alt=\"\" class=\"frame\" /></a>";
  }
  else {
    newsAreaSlideshowImageObj.innerHTML = "<img src=\"" + currentStrLevel + "/" + LslSlideshowEntries[currImage].image + "\" width=\"186\" height=\"140\" alt=\"\" class=\"frame\" />";
  }
  
  // set new caption
  var newsAreaSlideshowCaptionObj = document.getElementById("NewsAreaSlideshowCaption");
  if(LslSlideshowEntries[currImage].date != "") {
    newsAreaSlideshowCaptionObj.innerHTML = "<b>" + LslSlideshowEntries[currImage].date + ":</b> " + LslSlideshowEntries[currImage].caption;
  }
  else {
    newsAreaSlideshowCaptionObj.innerHTML = LslSlideshowEntries[currImage].caption;
  }

	// activate lightbox (display on click as centred full image in front of the darkened window)   
	initLightbox();
	
  // set next Timeout
  slideshowTimerId = setTimeout("slideshow()", slideshowDelay);
}
//----------------- 
// Data Structures
//-----------------
function MenuEntry(level, href, text, shadingId) { 
  this.level     = level;
  this.href      = href;
  this.text      = text;
  this.shadingId = shadingId;
}

function NewsEntry(date, text) { 
  this.date = date;
  this.text = text;
}

function SlideshowEntry(image, date, caption, fullImgLink) { 
  this.image       = image;
  this.date        = date;
  this.caption     = caption;
  this.fullImgLink = fullImgLink;
}

//-------------------------------------------------------------------------------------------------------------------------

/*
	Lightbox JS: Fullsize Image Overlays 
	by Lokesh Dhakar - http://www.huddletogether.com

	For more information on this script, visit:
	http://huddletogether.com/projects/lightbox/

	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
	(basically, do anything you want, just leave my name and link)
	
	Table of Contents
	-----------------
	Configuration
	
	Functions
	- getPageScroll()
	- getPageSize()
	- pause()
	- getKey()
	- listenKey()
	- showLightbox()
	- hideLightbox()
	- initLightbox()
	- addLoadEvent()
	
	Function Calls
	- addLoadEvent(initLightbox)

*/

//
// Configuration
//

// If you would like to use a custom loading image or close button reference them in the next two lines.
var loadingImage = 'images/loading.gif';		
var closeButton = 'images/close.gif';		

//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

//
// pause(numberMillis)
// Pauses code execution for specified time. Uses busy code, not good.
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
//
function pause(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
}

//
// getKey(key)
// Gets keycode. If 'x' is pressed then it hides the lightbox.
//

function getKey(e){
	if (e == null) { // ie
		keycode = event.keyCode;
	} else { // mozilla
		keycode = e.which;
	}
	key = String.fromCharCode(keycode).toLowerCase();
	
	if(key == 'x'){ hideLightbox(); }
}

//
// listenKey()
//
function listenKey () {	document.onkeypress = getKey; }

//
// showLightbox()
// Preloads images. Places new image in lightbox then centers and displays.
//
function showLightbox(objLink)
{
  // stop slideshow in the background while showing the image  
  clearTimeout(slideshowTimerId);
	
	// prep objects
	var objOverlay = document.getElementById('overlay');
	var objLightbox = document.getElementById('lightbox');
	var objCaption = document.getElementById('lightboxCaption');
	var objImage = document.getElementById('lightboxImage');
	var objLoadingImage = document.getElementById('loadingImage');
	var objLightboxDetails = document.getElementById('lightboxDetails');

	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// center loadingImage if it exists
	if (objLoadingImage) {
		objLoadingImage.style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - objLoadingImage.height) / 2) + 'px');
		objLoadingImage.style.left = (((arrayPageSize[0] - 20 - objLoadingImage.width) / 2) + 'px');
		objLoadingImage.style.display = 'block';
	}

	// set height of Overlay to take up whole page and show
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';

	// preload image
	imgPreload = new Image();

	imgPreload.onload=function(){
		objImage.src = objLink.href;

		// center lightbox and make sure that the top and left values are not negative
		// and the image placed outside the viewport
		var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - imgPreload.height) / 2);
		var lightboxLeft = ((arrayPageSize[0] - 20 - imgPreload.width) / 2);
		
		objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
		objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";


		objLightboxDetails.style.width = imgPreload.width + 'px';
		
		if(objLink.getAttribute('title')){
			objCaption.style.display = 'block';
			//objCaption.style.width = imgPreload.width + 'px';
			objCaption.innerHTML = objLink.getAttribute('title');
		} else {
			objCaption.style.display = 'none';
		}
		
		// A small pause between the image loading and displaying is required with IE,
		// this prevents the previous image displaying for a short burst causing flicker.
		if (navigator.appVersion.indexOf("MSIE")!=-1){
			pause(250);
		} 

		if (objLoadingImage) {	objLoadingImage.style.display = 'none'; }

		// Hide select boxes as they will 'peek' through the image in IE
		selects = document.getElementsByTagName("select");
        for (i = 0; i != selects.length; i++) {
                selects[i].style.visibility = "hidden";
        }

	
		objLightbox.style.display = 'block';

		// After image is loaded, update the overlay height as the new image might have
		// increased the overall page height.
		arrayPageSize = getPageSize();
		objOverlay.style.height = (arrayPageSize[1] + 'px');
		
		// Check for 'x' keypress
		listenKey();

		return false;
	}

	imgPreload.src = objLink.href;
	
}

//
// hideLightbox()
//
function hideLightbox()
{
	// get objects
	objOverlay = document.getElementById('overlay');
	objLightbox = document.getElementById('lightbox');

	// hide lightbox and overlay
	objOverlay.style.display = 'none';
	objLightbox.style.display = 'none';

	// make select boxes visible
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}

	// disable keypress listener
	document.onkeypress = '';
	
  // restart slideshow after showing the image  
	slideshowTimerId = setTimeout("slideshow()", slideshowDelayAfterFullImage);
}

//
// initLightbox()
// Function runs on window load, going through link tags looking for rel="lightbox".
// These links receive onclick events that enable the lightbox display for their targets.
// The function also inserts html markup at the top of the page which will be used as a
// container for the overlay pattern and the inline image.
//
function initLightbox()
{
	
	if (!document.getElementsByTagName){ return; }
	var anchors = document.getElementsByTagName("a");

	// loop through all anchor tags
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];

		if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "lightbox")){
			anchor.onclick = function () {showLightbox(this); return false;}
		}
	}

	// the rest of this code inserts html at the top of the page that looks like this:
	//
	// <div id="overlay">
	//		<a href="#" onclick="hideLightbox(); return false;"><img id="loadingImage" /></a>
	//	</div>
	// <div id="lightbox">
	//		<a href="#" onclick="hideLightbox(); return false;" title="Click anywhere to close image">
	//			<img id="closeButton" />		
	//			<img id="lightboxImage" />
	//		</a>
	//		<div id="lightboxDetails">
	//			<div id="lightboxCaption"></div>
	//			<div id="keyboardMsg"></div>
	//		</div>
	// </div>
	
	var objBody = document.getElementsByTagName("body").item(0);
	
	// create overlay div and hardcode some functional styles (aesthetic styles are in CSS file)
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlay');
	objOverlay.onclick = function () {hideLightbox(); return false;}
	objOverlay.style.display = 'none';
	objOverlay.style.position = 'absolute';
	objOverlay.style.top = '0';
	objOverlay.style.left = '0';
	objOverlay.style.zIndex = '90';
 	objOverlay.style.width = '100%';
	objBody.insertBefore(objOverlay, objBody.firstChild);
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// preload and create loader image
	var imgPreloader = new Image();
	
	// if loader image found, create link to hide lightbox and create loadingimage
	imgPreloader.onload=function(){

		var objLoadingImageLink = document.createElement("a");
		objLoadingImageLink.setAttribute('href','#');
		objLoadingImageLink.onclick = function () {hideLightbox(); return false;}
		objOverlay.appendChild(objLoadingImageLink);
		
		var objLoadingImage = document.createElement("img");
		objLoadingImage.src = loadingImage;
		objLoadingImage.setAttribute('id','loadingImage');
		objLoadingImage.style.position = 'absolute';
		objLoadingImage.style.zIndex = '150';
		objLoadingImageLink.appendChild(objLoadingImage);

		imgPreloader.onload=function(){};	//	clear onLoad, as IE will flip out w/animated gifs

		return false;
	}

	imgPreloader.src = loadingImage;

	// create lightbox div, same note about styles as above
	var objLightbox = document.createElement("div");
	objLightbox.setAttribute('id','lightbox');
	objLightbox.style.display = 'none';
	objLightbox.style.position = 'absolute';
	objLightbox.style.zIndex = '100';	
	objBody.insertBefore(objLightbox, objOverlay.nextSibling);
	
	// create link
	var objLink = document.createElement("a");
	objLink.setAttribute('href','#');
	objLink.setAttribute('title','Click to close');
	objLink.onclick = function () {hideLightbox(); return false;}
	objLightbox.appendChild(objLink);

	// preload and create close button image
	var imgPreloadCloseButton = new Image();

	// if close button image found, 
	imgPreloadCloseButton.onload=function(){

		var objCloseButton = document.createElement("img");
		objCloseButton.src = closeButton;
		objCloseButton.setAttribute('id','closeButton');
		objCloseButton.style.position = 'absolute';
		objCloseButton.style.zIndex = '200';
		objLink.appendChild(objCloseButton);

		return false;
	}

	imgPreloadCloseButton.src = closeButton;

	// create image
	var objImage = document.createElement("img");
	objImage.setAttribute('id','lightboxImage');
	objLink.appendChild(objImage);
	
	// create details div, a container for the caption and keyboard message
	var objLightboxDetails = document.createElement("div");
	objLightboxDetails.setAttribute('id','lightboxDetails');
	objLightbox.appendChild(objLightboxDetails);

	// create caption
	var objCaption = document.createElement("div");
	objCaption.setAttribute('id','lightboxCaption');
	objCaption.style.display = 'none';
	objLightboxDetails.appendChild(objCaption);

	// create keyboard message
	var objKeyboardMsg = document.createElement("div");
	objKeyboardMsg.setAttribute('id','keyboardMsg');
	objKeyboardMsg.innerHTML = 'press <a href="#" onclick="hideLightbox(); return false;"><kbd>x</kbd></a> to close';
	objLightboxDetails.appendChild(objKeyboardMsg);
}

//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//
function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}

addLoadEvent(initLightbox);	// run initLightbox onLoad
