

MegaDropdown = function(activateObject,megaDropDown) {

  var base = this, o;
  base.activateObject = activateObject;
  base.megaDropdownObject = megaDropDown;

  /**
   * Mega Dropdown initialisieren
   */
  base.init = function() {
    
    // Bei Klick und Mouseover des Breadcrumbs, wird das Mega Dropdown geöffnet
    base.activateObject.live("click mouseover",function() {
      base.showMegaDropdown($(this))
    });
    
    // Beim Verlassen des Mega Dropdowns, wird das Mega Dropdown geschlossen
    base.megaDropdownObject.mouseleave(function() {
      base.hideMegaDropdown()
    });
  };
  
  /**
   * Mega Dropdown einblenden
   */
  base.showMegaDropdown = function($element) {
    //base.activateObject.addClass("active");
    base.activateObject.removeClass("active");
    $element.addClass("active");
    base.megaDropdownObject.fadeIn();
  };
  
  /**
   * Mega Dropdown ausblenden
   */
  base.hideMegaDropdown = function() {
    base.activateObject.removeClass("active");
    base.megaDropdownObject.fadeOut();
  };
  
};


Navigation = function() {
  
  var base = this, o;
  base.activateObject = "";
  base.megaDropdownObject = "";

  base.init = function() {
    
    var megaDropdown = new MegaDropdown($("header .center .pageStatus a"),$("header .center nav"));

    $("header .center a[target=false]").addClass("disabled").live("click",function() {
      return false;
    });
    
    $("header .center nav > ul > li").each(function(index) {
      if ($(this).find("ul").size()) {
        leftPosition = megaDropdown.activateObject.eq(index).position().left;
        $(this).find("ul").css("left",leftPosition+"px");
        
        $("header .center .pageStatus a:eq("+index+")").live("click mouseover",function() {
          megaDropdown.showMegaDropdown($(this));
        });
      } else {
        $("header .center .pageStatus a:eq("+index+")").live("click mouseover",function() {
          megaDropdown.hideMegaDropdown();
        });
      }
    });
    
    $("header .center .pageStatus a").live("click mouseover",function() {
      var titel = $(this).text();
      $("header .center nav ul ul").hide();
      $("header .center nav > ul > li > a").each(function(index) {
        if ($(this).text() == titel) {
          $(this).parent().find("ul").show();
        }
      });
      
    });
    
    $("header .center").mouseleave(function() {
      megaDropdown.hideMegaDropdown();
    });
    
  };
  
};


NewsFilter = function() {

  var base = this, o;
  base.newslist = $("#main .center .news-header-list");
  base.years = new Array();
  base.year = "";
  
  base.init = function() {
    if (!base.newslist.size()) {
      return false;
    }
    
    this.createYearList();
    this.filterYear();
    
    var filter = new MegaDropdown($("#main .center .filterStart a"),$("#main .center .filterContent"));
    filter.init();
    
  };
  
  base.filterYear = function() {
    base.newslist.find(".filterCategory").live("click mouseover",function() {
      base.newslist.find(".filterCategory").removeClass("active");
      $(this).addClass("active");
      base.year = $(this).attr("rel");
      base.newslist.find(".news-header-list-container:not([rel='"+base.year+"'])").hide();
      base.newslist.find(".news-header-list-container:[rel='"+base.year+"']").fadeIn();
      return false;
    });
  };
  
  base.createYearList = function() {
    
    base.newslist.find(".news-header-list-container").each(function(index) {
      var rel = $(this).attr("rel");
      base.years[rel] = rel;
    });

    base.years.sort();
    
    var html = "";
    for (keyVar in base.years) {
      if (parseInt(base.years[keyVar])) {
        html = '<a href="#" class="filterCategory" rel="'+base.years[keyVar]+'">'+base.years[keyVar]+'</a>'+html;
      }
    }
    
    base.newslist.find(".news-content").prepend(html);
  };
  
};



var flyin = null;
Flyin = function(imageSelector) {
  
  var base = this, o;
  base.imageSelector = imageSelector;
  base.imageObjects = null;
  base.imageElements = 0;
  base.imagesPerRow = 0;
  base.element = new Array();
  
  base.init = function() {
    
    base.imageObjects  = $(base.imageSelector);
    base.imageElements  = base.imageObjects.size();
    base.imagesPerRow  = $(base.imageObjects[0]).closest("ul").find("li").size();
    
    if (!base.imageElements) {
      return false;
    }

    // Fill list with elements to have a modulo of base.imagesPerRow
    neededElements = base.imagesPerRow - (base.imageElements % base.imagesPerRow);
    
    if (neededElements != base.imagesPerRow) {
      tempUlElement = $(base.imageObjects[base.imageElements-1]).closest("ul");
      for (var i=0; i<neededElements; i++) {
        lastElementClass = (i == neededElements-1) ? ' csc-textpic-lastcol' : '';
        newElement = '<li class="csc-textpic-image'+lastElementClass+'"><img src="/fileadmin/templates/img/clear.gif" style="width:'+$(base.imageObjects[base.imageElements-1]).width()+'px; height:'+$(base.imageObjects[base.imageElements-1]).height()+'px; background:white;" /></li>';
        tempUlElement.append(newElement);
      }
    }
    
    base.imageObjects = $(base.imageSelector);
    
    base.imageObjects.each(function(index) {
      base.element[index] = $(this);
      setTimeout("showElement("+index+")",50*index);
    });
  };
  
};



ImageMouseover = function() {
  
  var base = this, o;
  
  base.init = function() {
    $(".csc-default .layout-2 .csc-textpic-imagewrap").hover(function() {
      $(this).find("li:nth-child(2) img").show();
    }, function() {
      $(this).find("li:nth-child(2) img").hide();
    });
  };
  
};



Mosaic = function() {
  
  var base = this, o;
  base.thumbs = new Array();
  base.thumbsPerRow = 5;
  base.Mosaic = null;
  base.ImageThumbnailList = null;
  base.initmenschen = '<img src="/fileadmin/templates/img/src-intro.jpg" width="640" height="360" alt="" />';
  base.initeinblicke = '<video width="640" height="360" preload="none" poster="/fileadmin/videos/referenzen/intro/fallback.png" start="/fileadmin/videos/referenzen/intro/fallback.png"><source src="/fileadmin/videos/referenzen/intro/rocketbar.mp4" type="video/mp4"></source><source src="/fileadmin/videos/referenzen/intro/rocketbar.webm" type="video/webm"></source><source src="/fileadmin/videos/referenzen/intro/rocketbar.ogv" type="video/ogg"></source></video><img class="endimage" src="/fileadmin/videos/referenzen/intro/rocketbar.jpg" width="640" height="360" alt="rocketbar" />';
  base.initstart = '<video width="640" height="360" preload="none" poster="/fileadmin/videos/referenzen/adc2011/puls_der_stadt_adc.jpg" start="/fileadmin/videos/referenzen/adc2011/puls_der_stadt_adc.jpg"><source src="/fileadmin/videos/referenzen/adc2011/puls_der_stadt_adc.webm" type="video/webm"></source><source src="/fileadmin/videos/referenzen/adc2011/puls_der_stadt_adc.mp4" type="video/mp4"></source><source src="/fileadmin/videos/referenzen/adc2011/puls_der_stadt_adc.ogv" type="video/ogg"></source></video><img class="endimage" src="/fileadmin/videos/referenzen/intro/rocketbar.jpg" width="640" height="360" alt="rocketbar" />';
  base.status = "";
  base.width = 0;
  base.height = 0;
  base.introimage = "";
  base.fallbackimage = "";
  base.autoplay = 0;
  base.lightbox = 0;
  
  base.init = function(status) {
    
    base.status = status;
    
    //if (!$('#main .center .mosaic').size()) {
    if (!$('.mosaic').size()) {
//      return false;
    }
    
    //base.Mosaic = $('#main .center .mosaic');
    base.Mosaic = $('.mosaic');
    base.Mosaic.each(function(index) {
      
      $mosaic    = $(this);
      $video    = $mosaic.find(".video");
      
      thumblength  = base.thumbs.length;
      base.thumbs[thumblength] = new Object();
      base.thumbs[thumblength]["front"]        = $(".imageFront",$mosaic).html();
      base.thumbs[thumblength]["back"]        = $(".imageBack",$mosaic).html();
      base.thumbs[thumblength]["filterKunde"]      = $(".filterKunde",$mosaic).html();
      base.thumbs[thumblength]["filterProjektart"]  = $(".filterProjektart",$mosaic).html();
      base.thumbs[thumblength]["filterTechnologie"]  = $(".filterTechnologie",$mosaic).html();
      base.thumbs[thumblength]["filterDisziplin"]    = $(".filterDisziplin",$mosaic).html();
      base.thumbs[thumblength]["filterHaarlaenge"]  = $(".filterHaarlaenge",$mosaic).html();
      base.thumbs[thumblength]["filterName"]      = $(".filterName",$mosaic).html();
      base.thumbs[thumblength]["disabled"]      = ($(".disabled",$mosaic).text() == 1) ? true : false;
      base.thumbs[thumblength]["rel"]          = $mosaic.parent().attr("id");
            
      base.createHtml5VideoTag($video);
      $video.addClass("created");
      
      if (!index) {
        initani = "";
        if (base.status == "menschen") { initani = base.initmenschen; }
        if (base.status == "einblicke") { initani = base.initeinblicke; }
        if (base.status == "start") { initani = base.initstart; }
        $mosaic.append('<div class="introImageMosaic">'+initani+'</div>');
      }
    
      base.createTabs($mosaic);
      
    });
    
    $("#main .center .tabOpener").hover(function() {
      $(this).addClass("hover");
    }, function() {
      $(this).removeClass("hover");
    });
    
    $("#main .center .tabOpener").live("click",function() {
      $tabs = $(this).closest(".mosaic").find("div.tabs");
      if (!$tabs.filter(":visible").size()) {
        $(this).addClass("active");
        $tabs.fadeIn(500);
      } else {
        $(this).removeClass("active");
        $tabs.fadeOut(500);
      }
    });

    
    //$("#main .center .video").not(".created").each(function(index) {
    $("#main .video").not(".created").each(function(index) {
      $element = $(this);
      base.createHtml5VideoTag($element);
      $element.addClass("created");
      $element.find("video").mediaelementplayer({
        startVolume  :  0.8,
        loop    :  false,
        success: function (mediaElement, domObject) {
    	  //idname = $element.find(".mejs-video").attr("id");
    	  //$(domObject).closest(".video").addClass("created").attr("id",idname+"c");
          videoMediaElement = mediaElement;
          if ($(domObject).closest(".left").size()) {
            if (base.autoplay == "1" && base.lightbox == "0") {
				window.setTimeout(function(){
					videoMediaElement.play();
				}, 100);
			}
          }
        }
      });
		if (base.lightbox == "1") {
			$element.append('<a href="#">'+base.fallbackimage+'</a>');
			
			$video = $element.find(".mejs-video");
			$video.css({
				position	:	"absolute",
				left		:	"-10000px"
			})
			
			closeVideo = function() {
				$('vid-closeX').remove();
				$('#vid-overlay').remove();
				videoMediaElement.pause();
				$('.mejs-video.lightbox-playing').css('left', '-10000px');
				$('.mejs-video.lightbox-playing').removeClass('lightbox-playing');
			}
			
			$video.parent().find("a").click(function() {
				$(document).one('keydown', function(e) {
					if(e.keyCode == 27) {
						closeVideo();
						return false;
					}
				});
				$('<a href="#" id="vid-closeX"></a>').appendTo($(this).siblings('.mejs-video')).click(function() {
					closeVideo();
					return false;
				});
				$('<div id="vid-overlay"></div>').appendTo('body').click(function() {
					closeVideo();
					return false;
				});
				
				if($(this).parents('.left').length) {
					$(this).parent().find('.mejs-video').css({
						left	:	'275px',
						top		:	'0px'
					});
				}
				else {
					$(this).parent().find('.mejs-video').css({
						left	:	'0px',
						top		:	'0px'
					});
				}
				
				$(this).siblings('.mejs-video').addClass('lightbox-playing');
				$('.mejs-video').find('video').each(function() { $(this).get(0).player.pause(); });
				
				videoMediaElement = $(this).closest(".video").find("video").get(0).player;
				window.setTimeout(function() {
					videoMediaElement.play();
				},100);
				return false;
			});

      }
    });
    
    base.buildthumblist();
    
  };
  
  
  base.createTabs = function($mosaic) {
    
    tabsHtml = '';
    base.activetabs = $(".tabicons",$mosaic).text();
    
    $("ul.tabs span",$mosaic).each(function(index) {
      $element = $(this);
      activetabs = base.activetabs;
      activetabs = activetabs.toLowerCase();
      if (activetabs.indexOf($element.attr("class")) > -1) {
        $element.parent().addClass("active");
      }
    });
    
    if ($("ul.tabs li.active",$mosaic).size()) {
    
      tabsOpener = '<div class="tabOpener" />';
      $mosaic.find(".content div.csc-default").prepend(tabsOpener);
      
    }
    
  };
  
  
  base.createHtml5VideoTag = function($video) {
    
    base.width    		= $(".width",$video).text();
    base.height    		= $(".height",$video).text();
    mp4      			= $(".mp4",$video).text();
    webm    			= ($(".webm",$video).text().length) ? '<source type="video/webm" src="/'+$(".webm",$video).text()+'" />' : '';
    ogg      			= ($(".ogg",$video).text().length) ? '<source type="video/ogg" src="/'+$(".ogg",$video).text()+'" />' : '';
    subtitle  			= ($(".subtitle",$video).text().length) ? '<track kind="subtitles" src="'+$(".subtitle",$video).text()+'" srclang="en" />' : '';
    chapters  			= ($(".chapters",$video).text().length) ? '<track kind="chapters" src="'+$(".chapters",$video).text()+'" srclang="en" />' : '';
    base.introimage  	= $(".introimage",$video).html();
    base.fallbackimage  = $(".fallbackimage",$video).html();
    introimagename    	= $(".introimage img",$video).attr("src");
    fallbackimagename	= $(".fallbackimage img",$video).attr("src");
    base.autoplay		= $(".autoplay",$video).text();
    base.lightbox		= $(".lightbox",$video).text();
    
    src = ($.browser.msie) ? 'src="/'+mp4+'" ' : '';
    newVideo = '<video '+src+'width="'+base.width+'" height="'+base.height+'" start="/'+introimagename+'" poster="/'+fallbackimagename+'" controls="controls" preload="none">'+"\n"
          +'<source type="video/mp4" src="/'+mp4+'" />'
          +webm
          +ogg
          +subtitle
          +chapters
      +'</video>';
    $video.append(newVideo);
    
  };
  
  
  
  base.buildthumblist = function() {
    images = "";
    
    for (var i=0; i<base.thumbs.length; i++) {
      disabledThumb = (base.thumbs[i]["disabled"]) ? '<div class="disabledThumb" />' : '';
      images += '<li class="csc-textpic-image thumb" style="display:none;" fkunde="'+base.thumbs[i]["filterKunde"]+'" fprojektart="'+base.thumbs[i]["filterProjektart"]+'" ftechnologie="'+base.thumbs[i]["filterTechnologie"]+'" fdisziplin="'+base.thumbs[i]["filterDisziplin"]+'" fhaarlaenge="'+base.thumbs[i]["filterHaarlaenge"]+'" fname="'+base.thumbs[i]["filterName"]+'" rel="'+base.thumbs[i]["rel"]+'">'+disabledThumb+'<span class="imageFront">'+base.thumbs[i]["front"]+'</span><span class="imageBack">'+base.thumbs[i]["back"]+'</span></li>';
    }

    for (var i=0; i<5; i++) {
      images += '<li class="csc-textpic-image fillthumb index'+i+'" style="display:none;"><img src="/fileadmin/templates/img/clear.gif" style="width:120px; height:70px; background:#D5D5D5;" /></li>';
    }
    
    if (base.thumbs.length) {
      images = '<ul class="imageThumbnails">'+images+'</ul>';
    }
    
    //$("#main .center").append(images);
	$('.mosaic:last').closest('.csc-default').after(images);
    
    $("#main .center .imageThumbnails li").hover(function() {
      $(this).find(".imageFront").hide().parent().addClass("active").find(".imageBack").show();
    },function() {
      $(this).find(".imageFront").show().parent().removeClass("active").find(".imageBack").hide();
    })

    base.ImageThumbnailList = $("#main .center .imageThumbnails li");
    base.ImageThumbnailList.live("click",function() {
      if (!$(this).find(".disabledThumb").size()) {

        $tabs = $("#main .center .mosaic div.tabs").fadeOut(500);
        
        $("#main .center .mosaic .content .csc-default,#main .center .mosaic .introImageMosaic").hide();
        if ($(".sprayholder").size()) {
          $(".sprayholder").data("stop",true);
          $(".sprayholder").data("nextFrame")();
        }
        $("#main .center .mosaic .content .csc-default video").each(function() {
          try {
            this.player.pause();
          } catch(e) {
            //window.log(e);
          }
        })
        $firstElment = $("#main .center #"+$(this).attr("rel")+" .content .csc-default:first");
        $firstElment.show();
        
        if ($firstElment.find(".mejs-video").size()) {
          //window.log($firstElment.find("video"));
          $firstElment.find("video").get(0).player.play();
        } else {
          $firstElment.find("video").mediaelementplayer({
            startVolume  :  0.8,
            loop    :  false,
            success: function (mediaElement, domObject) {
              $(domObject).closest(".video").addClass("created");
              if (!$.browser.webkit) {
                mediaElement.play();
              }
            }
          });
        }
      }
    });
    

    if (base.ImageThumbnailList.size()) {
      base.buildFilter();
    
      var filter = new MegaDropdown($("#main .center .filterStart a"),$("#main .center .filterContent"));
      filter.init();
    }
    
    $("#main .center .imageThumbnails li.thumb").each(function(index) {
      $element = $(this);
      $element.addClass("visible").fadeIn("slow");
    });
    
    //$("#main .center .imageThumbnails li.visible:nth-child(5n)").addClass("csc-textpic-lastcol");
    
    base.fillThumbnails();
    
  };
  
  
  
  base.buildFilter = function() {
    
    var fkunde = "";
    var fprojektart = "";
    var ftechnologie = "";
    var fdisziplin = "";
    var fhaarlaenge = "";
    var fname = "";
    
    base.ImageThumbnailList.each(function(index) {
      $element = $(this);
      if ($element.attr("fkunde") && $element.attr("fkunde").length) {
        fkunde += (fkunde.length) ? ","+$element.attr("fkunde") : $element.attr("fkunde");
      }
      if ($element.attr("fprojektart") && $element.attr("fprojektart").length) {
        fprojektart += (fprojektart.length) ? ","+$element.attr("fprojektart") : $element.attr("fprojektart");
      }
      if ($element.attr("ftechnologie") && $element.attr("ftechnologie").length) {
        ftechnologie += (ftechnologie.length) ? ","+$element.attr("ftechnologie") : $element.attr("ftechnologie");
      }
      if ($element.attr("fdisziplin") && $element.attr("fdisziplin").length) {
        fdisziplin += (fdisziplin.length) ? ","+$element.attr("fdisziplin") : $element.attr("fdisziplin");
      }
      if ($element.attr("fhaarlaenge") && $element.attr("fhaarlaenge").length) {
        fhaarlaenge += (fhaarlaenge.length) ? ","+$element.attr("fhaarlaenge") : $element.attr("fhaarlaenge");
      }
      if ($element.attr("fname") && $element.attr("fname").length) {
        fname += (fname.length) ? ","+$element.attr("fname") : $element.attr("fname");
      }
    });
    
    var elementCategories = new Array();
    var fkundeArray = new Array();
    var fprojektartArray = new Array();
    var ftechnologieArray = new Array();
    var fdisziplinArray = new Array();
    var fhaarlaengeArray = new Array();
    var fnameArray = new Array();
    if (fkunde.length) {
      elementCategories = fkunde.split(",");
      for (i=0; i<elementCategories.length; i++) {
        if (!fkundeArray.inArray(elementCategories[i])) { fkundeArray.push(elementCategories[i]); }
      }
      fkundeArray.sort();
      fkunde = fkundeArray.join(",");
      fkunde = fkunde.replace(/,/g,'</a></li><li><a href="#">');
      fkunde = '<li class="filterCategory" rel="fkunde">Projekte nach Kunden<ul><li><a href="#">'+fkunde+'</a></li><li><a href="#">Alle Projekte</a></li></ul></li>';
    }
    if (fprojektart.length) {
      elementCategories = fprojektart.split(",");
      for (i=0; i<elementCategories.length; i++) {
        if (!fprojektartArray.inArray(elementCategories[i])) { fprojektartArray.push(elementCategories[i]); }
      }
      fprojektartArray.sort();
      fprojektart = fprojektartArray.join(",");
      fprojektart = fprojektart.replace(/,/g,'</a></li><li><a href="#">');
      fprojektart = '<li class="filterCategory" rel="fprojektart">Projekte<ul><li><a href="#">'+fprojektart+'</a></li><li><a href="#">Alle Projekte</a></li></ul></li>';
    }
    if (ftechnologie.length) {
      elementCategories = ftechnologie.split(",");
      for (i=0; i<elementCategories.length; i++) {
        if (!ftechnologieArray.inArray(elementCategories[i])) { ftechnologieArray.push(elementCategories[i]); }
      }
      ftechnologieArray.sort();
      ftechnologie = ftechnologieArray.join(",");
      ftechnologie = ftechnologie.replace(/,/g,'</a></li><li><a href="#">');
      ftechnologie = '<li class="filterCategory" rel="ftechnologie">Technologie<ul><li><a href="#">'+ftechnologie+'</a></li><li><a href="#">Alle Projekte</a></li></ul></li>';
    }
    if (fdisziplin.length) {
      elementCategories = fdisziplin.split(",");
      for (i=0; i<elementCategories.length; i++) {
        if (!fdisziplinArray.inArray(elementCategories[i])) { fdisziplinArray.push(elementCategories[i]); }
      }
      fdisziplinArray.sort();
      fdisziplin = fdisziplinArray.join(",");
      fdisziplin = fdisziplin.replace(/,/g,'</a></li><li><a href="#">');
      fdisziplin = '<li class="filterCategory" rel="fdisziplin">Disziplin<ul><li><a href="#">'+fdisziplin+'</a></li><li><a href="#">Alle Menschen</a></li></ul></li>';
    }
    if (fhaarlaenge.length) {
      elementCategories = fhaarlaenge.split(",");
      for (i=0; i<elementCategories.length; i++) {
        if (!fhaarlaengeArray.inArray(elementCategories[i])) { fhaarlaengeArray.push(elementCategories[i]); }
      }
      fhaarlaengeArray.sort();
      fhaarlaenge = fhaarlaengeArray.join(",");
      fhaarlaenge = fhaarlaenge.replace(/,/g,'</a></li><li><a href="#">');
      fhaarlaenge = '<li class="filterCategory" rel="fhaarlaenge">Haarl&auml;nge<ul><li><a href="#">'+fhaarlaenge+'</a></li><li><a href="#">Alle Menschen</a></li></ul></li>';
    }
    if (fname.length) {
      elementCategories = fname.split(",");
      for (i=0; i<elementCategories.length; i++) {
        if (!fnameArray.inArray(elementCategories[i])) { fnameArray.push(elementCategories[i]); }
      }
      fnameArray.sort();
      fname = fnameArray.join(",");
      fname = fname.replace(/,/g,'</a></li><li><a href="#">');
      fname = '<li class="filterCategory" rel="fname">Name<ul><li><a href="#">'+fname+'</a></li><li><a href="#">Alle Menschen</a></li></ul></li>';
    }
    
    filter = '<ul class="filter">';
    filter += fkunde;
    filter += fprojektart;
    filter += ftechnologie;
    filter += fdisziplin;
    filter += fhaarlaenge;
    filter += fname;
    filter += "</ul>";
    
    frage = '';
    if (fkunde.length || fprojektart.length || ftechnologie.length) {
      frage = '<b>Projektbutler.</b> Was darf es sein?';
    }
    if (fdisziplin.length || fhaarlaenge.length || fname.length) {
      frage = '<b>Peoplebutler.</b> Wer darf es sein?';
    }
    
    filterHtml = '<div class="filterStart">'
        +'<a rel="filter-list" href="#" class="">'+frage+'</a>'
      +'</div>'
      +'<div class="filterContent filter-list" style="display: none;">'
        +'<div class="filterHeadline">'
          +'<a href="#">'+frage+'</a>'
        +'</div>'
        +'<div class="news-content">'
          +filter
        +'</div>'
        +'<div class="transparency"></div>'
      +'</div>';
    
    $("#main .center").prepend(filterHtml);
    
    $(".filter-list li.filterCategory li a").live("click",function() {
      $element = $(this);
      $element.closest(".filterContent").find("a").removeClass("active");
      $element.addClass("active");
      base.filterList($element.text(),$element.closest(".filterCategory").attr("rel"));
      return false;
    });
    
  };
  
  
  base.filterList = function(text,category) {
    if ((text == "Alle Menschen") || (text == "Alle Projekte")) {
      $("#main .center .imageThumbnails li.thumb").addClass("visible").fadeIn(500);
      $("#main .center .imageThumbnails li.fillthumb").removeClass("visible").hide();
    } else {
      base.ImageThumbnailList.each(function() {
        $element = $(this);
        found = false;
        elementCategory = $element.attr(category);
  
        if (elementCategory) {
          elementCategories = elementCategory.split(",");
          for (i=0; i<elementCategories.length; i++) {
            if (elementCategories[i] == text) {
              found = true;
            }
          }
        }
  
        if (found) {
          $element.addClass("visible").fadeIn(500);
        } else {
          $element.removeClass("visible").hide();
        }
        
      });
    }
    
    base.fillThumbnails();
    
  };


  
  base.fillThumbnails = function() {

    thumbsVisible = $("#main .center .imageThumbnails li.thumb:visible").size();

    $("#main .center .imageThumbnails li").removeClass("csc-textpic-lastcol");
    
    if (thumbsVisible) {
      neededElements = base.thumbsPerRow - (thumbsVisible % base.thumbsPerRow);
      
      $("#main .center .imageThumbnails li.fillthumb").each(function(index) {
        $element = $(this);
        if (index < neededElements) {
          if (index == (neededElements-1)) {
            $element.addClass("csc-textpic-lastcol");
          }
          $element.addClass("visible").fadeIn(500);
        } else {
          $element.removeClass("visible").hide();
        }
      });
      
    }

    $("#main .center .imageThumbnails li.visible").each(function(index) {
      if ((base.thumbsPerRow - (index % base.thumbsPerRow)) == 1) {
        $(this).addClass("csc-textpic-lastcol");
      }
    });
    
  
  };
  
  
  
};

Footer = function() {

  var base = this, o;
  base.windowHeight = 0;
  base.footer = null;

  base.init = function() {
    base.windowHeight = $(window).height();
    base.footer = $("footer");
    base.footerWrapper = base.footer.find(".contentWrapper");
    base.footerWrapper.hide();
    var footerTimer = window.setTimeout(function () {
      if (base.windowHeight - base.footer.offset().top < 43) {
        base.footer.addClass("fixed");
      }
      base.footerWrapper.fadeIn("slow");
    },1000);
  }
  
}

function showElement(index) {
  flyin.element[index].fadeIn();
};


Array.prototype.inArray = function(value) {
  var i;
  for (i=0; i < this.length; i++) {
    if (this[i] === value) {
      return true;
    }
  };
  return false;
};


$("footer .contentWrapper").hide();

$(function() {

  var status = "";
  
  statusText = $("header .center nav li.cur a.ui-btn-active").text();
  if (statusText == "Menschen") { status = "menschen"; }
  if (statusText == "Projekt-Einblicke") { status = "einblicke"; }
  if (statusText == "") { status = "start"; }
  
  var navigation = new Navigation();
  navigation.init();
  
  var newsFilter = new NewsFilter();
  newsFilter.init();
  
  flyin = new Flyin("#main .center .layout-1 img");
  flyin.init();
  
  imageMouseover = new ImageMouseover();
  imageMouseover.init();
  
  mosaic = new Mosaic();
  mosaic.init(status);
  
  var footer = new Footer();
  footer.init();
  
  if ($('#socialshareprivacy').length > 0) {
    $('#socialshareprivacy').socialSharePrivacy({
      services : {
        facebook : {
          'dummy_img': '/fileadmin/templates/img/icon-facebook-inaktiv.png'
		},
		twitter : {
		  'dummy_img' : '/fileadmin/templates/img/icon-twitter-inaktiv.png'
		},
		gplus : {
		  'dummy_img' : '/fileadmin/templates/img/icon-googleplus-inaktiv.png'
		}
	  }
      
      
      
    });
  }
  
  // Intro abspielen
  if (status == "menschen") { setTimeout("animation()",3000); }
  if (status == "einblicke" || status == "start") {
    
	  $(".introImageMosaic video").mediaelementplayer({
      startVolume  :  0.8,
      loop    :  false,
      success: function (mediaElement, domObject) {
        $(domObject).closest(".video").addClass("created");
        if (status != 'start') {
			if (!$.browser.webkit) {
				mediaElement.play();
			}
			
			// add event listener
			if (!$.browser.webkit) {
				mediaElement.addEventListener('ended', function(e){
					startArrow();
					$(".introImageMosaic .mejs-video").hide();
					$(".introImageMosaic .endimage").show();
				}, false);
			}
			else {
				setTimeout("startArrow()", 3000);
			}
		 }
      }
    
    });
  }
  
  
  $('.slide-out-div').css('display','');
  $('.slide-out-div').tabSlideOut({
    tabHandle    : '.handle',                   // class of the element that will become your tab
    pathToTabImage  : 'typo3conf/ext/stw_jquery_feedback/images/button-feedback.png', //path to the image for the tab *required*
    imageWidth    : '29px',                      // height of tab image *required*
    imageHeight    : '165px',                     // width of tab image *required*    
    tabLocation    : 'right',                     // side of screen where tab lives, top, right, bottom, or left
    speed      : 300,                         // speed of animation
    action      : 'click',                     // options: 'click' or 'hover', action to trigger animation
    topPos      : '40%',                       // position from the top
    fixedPosition  : true                         // options: true makes it stick(fixed position) on scroll
  });
  
  $("#feedback form .submit").click(function() {
    $(this).closest("form").submit();
  });
  
  
});


var videoMediaElement = null;

/**
var uvOptions = {};
(function() {
  var uv = document.createElement('script'); uv.type = 'text/javascript'; uv.async = true;
  uv.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'widget.uservoice.com/WnTd66YQPSVhEsD54HKQ.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(uv, s);
})();
*/
