// 2010 (c) Electronic Minds (http://www.electronic-minds.de)
/*
****EMSlider******
*/
$(function() {
	if($('div#welcomeFlash').length){
		$("body").EMSlider();
	}
});
$(document).ready(function(){ 			
	
	// drucken, nach oben
	$('ul.feature li').click(function() {
		if($(this).hasClass('print')) {
			window.print();
		}
		if($(this).hasClass('top')) {
			$('html, body').animate({ scrollTop: $("#wrapper").offset().top }, 'slow');
		}
		return false;
	});

	// slide nav
	if($.browser.msie) {
		$('.topNav ul ul.subLevel li').css('background','url("/pics/ie_bg_subNav_main.png") repeat-x left top');
		$('.topNav ul ul.subLevel li.first').css('background','url("/pics/ie_bg_subNav_left.png") no-repeat left top');
		$('.topNav ul ul.subLevel li.last').css('background','url("/pics/ie_bg_subNav_right.png") no-repeat right top');
		$('.topNav ul li.projectsMega ul.subLevel li').css('background','none');
	}
	if ($('.topNav ul').length > 0) {
        var aniDuration = 250;
        var nav = $('.topNav > ul');
        var lastSubNav = null;
        var spike = $('<div class="spike"></div>').hide();
        var lis = nav.children('li');
        
        var timeout = null;
        
        $.fn.getOverallWidth = function() {
            var w = 0;
            this.each(function() { w += $(this).outerWidth(true); });
            return w+5;
        }
        
        nav.children('li').children('ul.subLevel').each(function() {
            $(this).css('display', 'block').width($(this).children().getOverallWidth()).css('display', 'none');
        });
        
        nav.before(spike);
        lis.children('a').css('background', 'none');
        lis.mouseenter(function() {
            if (timeout != null)
                window.clearTimeout(timeout);
            var t = this;
            timeout = window.setTimeout(function() {
                aniNav.call(t);
            }, 300);
        });
        nav.mouseleave(function() {
            if (nav.find('.active').length > 0) {
				var el = nav.find('.active');
				if(!el.hasClass('projectsMega')) {
					el.mouseenter();
				} else {
                    hideNav();
            	}
            }
            else {
                timeout = window.setTimeout(function(){
                    hideNav();
                }, 500);
            }
        });
        lis.children('ul.subLevel').mouseenter(function() {
            if (timeout != null)
                window.clearTimeout(timeout);
        });
        function aniNav() {
            var subNav = $(this).children('ul.subLevel');
            var left = $(this).position().left;
            if (spike.is(':hidden')) {
                spike.css('left', left + 42);
                spike.stop(true, true).fadeIn(aniDuration);
            }
            else {
                if (spike.css('opacity') < 1)
                    spike.css('opacity', 1);
                spike.stop(true, false).animate({
                    left: left + 42
                });
            }
            if (lastSubNav != null) {
                lastSubNav.stop(true, false).fadeOut(aniDuration);
            }
            
            var x = (subNav.outerWidth() - $(this).children('a').width()) / 2;
            var sNLeft = left - x;
            if (sNLeft < 0) sNLeft = - 13;
            else if (sNLeft + subNav.outerWidth() > nav.width())
                sNLeft = nav.width() - subNav.width() + 13;
            subNav
                .css('left',sNLeft)
                .fadeTo(0,0)
                .css('display', 'block')
                .stop(true, false)
                .fadeTo(aniDuration, 1);
            lastSubNav = subNav;
			$('.topNav ul li.projectsMega ul.subLevel').css('left', '-125px');
        }
		
        function hideNav() {
            spike.fadeOut(aniDuration);
            lastSubNav.fadeOut(aniDuration);
        }
        if (nav.find('.active').length > 0) {
			var el = nav.find('.active');
			if(!el.hasClass('projects')) {
				el.mouseenter();
			}
        }
    }
	 
	// tooltip
	$('#tooltip').live('mouseover', function(e) {
		if($('#tooltipTag').length == 0) {
			$('body').append('<div id="tooltipTag"></div>');
		}
		var tooltip = $('#tooltipTag');
		tooltip.html($(this).attr('title')).show();
		tooltip.data('tooltipText', $(this).attr('title'));
		$(this).attr('title', '');
		tooltip.css({ 'left': e.pageX + 15, 'top':  e.pageY + 15 });
	}).live('mouseleave', function() {
		var tooltip = $('#tooltipTag');
		tooltip.hide();
		$(this).attr('title', tooltip.data('tooltipText'));
	}).live('mousemove', function(e) {
		var tooltip = $('#tooltipTag');
		tooltip.css({ 'left': e.pageX + 15, 'top':  e.pageY + 15 });
	});
	 
	// widerhall
	var slideWiderhall = $('#widerhall ul li div.main');
	var slideWiderhallCount = 0;
	slideWiderhall.find('div.slide').each(function() {
		$(this).attr('id', 'wh'+slideWiderhallCount);
		$(this).css('height', $(this).height());
		slideWiderhallCount++;
	});
	slideWiderhall.find('div.slide').not(':first').hide(0);
	$('#widerhall ul h5:first').addClass('open');
	slideWiderhall.find('h5 a').click(function() {
		var old = slideWiderhall.find('div.slide:visible');
		var neu = $(this).parents('li:first').find('div.slide');
		if(old.attr('id') != neu.attr('id') && !slideWiderhall.find('div.slide').is(':animated')) {
			old.slideUp('slow');
			old.siblings('h5').removeClass('open');
			neu.slideDown('slow');
			neu.siblings('h5').addClass('open');
		} else {
			old.slideUp('slow');
			old.siblings('h5').removeClass('open');
		}
		return false;					 
	});
	// galerie
	if($('.galerie a').length > 0) {
		$('.galerie a').attr('rel', 'colorbox[galerie]');
	}
	if($('a[rel="colorbox[galerie]"]').length > 0) {
		$('a[rel="colorbox[galerie]"]').each(function() {
			if(!$(this).hasClass('swf')) {
				$(this).colorbox({
					maxWidth: '90%'
				});
			} else {
				var size = $(this).attr('rev').split(',');
				
				$(this).colorbox({
					iframe:true, 
					innerWidth:size[0], 
					innerHeight:size[1]
				});
			}
		});
	}

	// news
	$('div#hoverCont:not(.newsletterArchive) div').css('cursor','pointer');
	$('div#hoverCont:not(.newsletterArchive) div').hover(function() {
		$(this).addClass('hover');
	}, function() {
		$(this).removeClass('hover');
	});
	$('div#hoverCont:not(.newsletterArchive) div').click(function() {
		if(!$(this).parent().hasClass('not')) {
			location.href= $(this).find('h5 a').attr('href'); 
		}
	});
	// externer link 
	$("a[rel^='extern']").attr({ 'target' : '_blank' });
	// kontaktformular
	if($('textarea#kon_nachricht').length > 0) {
		$('textarea#kon_nachricht').autogrow();
	}
	// team
	if($('#teamDetail div').length > 0) {
		$('#teamDetail div:first').show();
		$('#teamDetail').css('position', 'relative');
		$('#teamDetail div').css('position', 'absolute');
		$('#teamDetail div').find('img:last').css('opacity', '0');
		$('#teamDetail div').find('img').css('cursor', 'pointer');
		
	}
	// switch team
	$('#teamDetail div a.switcher').live('mouseover', function() {
		var actel = $(this);
		if(!actel.parent().find('img').is(':animated')) {
			actel.css('background', 'url(/pics/loading_team_facing.gif) no-repeat right center');
			actel.siblings('img.facing').animate({ opacity:'1'}, 0).hide().css('z-index', '90').fadeIn(600, function() {
				actel.siblings('img:not(.facing)').css('z-index', '80').hide();
			});
		}
		return false;
	}).live('mouseleave', function() {
		var actel = $(this);
		if(!actel.parent().find('img').is(':animated')) {
			actel.css('background', 'url(/pics/loading_team.gif) no-repeat right center');
			actel.siblings('img.facing').css('z-index', '90').fadeOut(600, function() {
				actel.css('background', 'url(/pics/loading_team_small.gif) no-repeat right center');
			});
			actel.siblings('img:not(.facing)').show();
		}
		return false;
	}).live('click', function() {
		return false;
	});
	function switchTeam(ae) {
		window.setTimeout(function() { ae.fadeOut(300); }, 100);
		ae.siblings('img').fadeIn(300);
	}
	
	if($('#teamDetail div').length > 0) {
    getTeamDetail($('#team ul li:first a'));
  }	
	$('#team li').click(function() {
		if($('#teamDetail').data('id') != $(this).find('a').attr('rel') && !$('#teamDetail div').is(':animated') && !$(this).hasClass('ghost')) {
			getTeamDetail($(this).find('a'));
		}
	});
	function getTeamDetail(ae){
		var id = ae.attr('rel');
		$('#teamDetail').html('<img src="/pics/loading1.gif" alt="Bitte warten" class="load" />');
		$.ajax({
			url: '/agentur/team/member/'+id,
			success: function(html) {
				$('#teamDetail img.load').fadeOut(function() {
					$('#teamDetail').html(html);
					$('#teamDetail div:first').hide(0);
					if(!$.browser.msie) {
						$('#teamDetail div:first').fadeIn();
					} else {
						$('#teamDetail div:first').show(0);
					}
					$('#teamDetail').css('position', 'relative');
					$('#teamDetail div').css('position', 'absolute');
					$('#teamDetail div').find('img:last').animate({opacity:'0'}, 0);
					$('#teamDetail').data('id', id);
				});
			}
		});
	}
	// bookmark
	$('#bookmark ul ul.subLevel').hide();
	$('#bookmark > ul > li > a').click(function() {
		if(!$(this).siblings('ul.subLevel').is(':animated')) {
			$(this).siblings('ul.subLevel').slideToggle(300);
		}
		return false;
	})
	$('#bookmark > ul > li').mouseleave(function() {
		$(this).find('ul.subLevel').slideUp(300)
	});
	// anbieten
	$('#anbieten ul').hide();
	$('#anbieten h4').css('cursor', 'pointer');
	$('#anbieten h4').click(function() {
		if($(this).next('ul:visible').length > 0) {
			$(this).next('ul').slideUp();
			$(this).removeClass('open');
		} else {
			$(this).next('ul').slideDown();
			$(this).addClass('open');
		}
	});
	// newsletter-anmeldung
	$('.stoerer form.newsletter .hidden').hide();
	$('.stoerer form.newsletter p:first-child input').focus(function(){
			$(this).parent('p').next('.hidden').slideDown('fast');
	});
	
	$('#newsletterForm').submit(function(e) {
		e.preventDefault();
		
		$(this).find('input[type="submit"]').hide().after('<img src="/pics/loading.gif" class="preLoader" alt="" />').parent('p').css('text-align', 'center');
		
		var url = $('#newsletterForm input[name=ajax-url]').val();
		
		$('.errorMessage').remove();
		
		$.each($('#newsletterForm input'), function() {
			$(this).removeClass('error');							
		});
		
		$.post(url, $("#newsletterForm").serialize(), function(data) {
  			if(data == '') {
				$('#newsletterForm').replaceWith('<div class="success"><h6>Vielen Dank, das war’s schon (fast).</h6><p>Bitte rufen Sie Ihre Mails ab und klicken Sie auf den Bestätigungs-Link.</p></div>');
			} else {
				dataArray = $.parseJSON(data);
				$.each(dataArray, function(key, value) {
					$('#field' + key).addClass('error');
					$('#field' + key).before('<label class="errorMessage" for="field'+key+'">' + value + '</label>');
				});				
			}	
			$('#newsletterForm').find('.preLoader').remove();
			$('#newsletterForm').find('input[type="submit"]').show();
		});	
	});
	
	//values hide on focus
	$('input[type=text]').each(function(){
		$(this).attr('data-origVal', $(this).val());
	});	
	$('input[type=text]').focusin(function(){
		if($(this).val() == $(this).attr('data-origVal')) {
			$(this).val('');
		}								   
	});	
	$('input[type=text]').focusout(function(){
		if($(this).val() == '') {
			$(this).val($(this).attr('data-origVal'));
		}								   
	});

	// slider
	$('#sliderManagement').each(function() {
		var element = $(this)
		element.find('a:not(:first)').hide();
		element.find('a').css({ 'position':'absolute', 'top':'0', 'left':'0', 'overflow': 'hidden' });
		window.setTimeout(function() {
			slideImg();
		}, 5000);
	});
	
	// bubble
	if($('.projectDiverse').length > 0) {
		$('.projectDiverse').append('<div id="bubble"><div class="main"></div></div>');
		$('.projectDiverse ul li div').hide();
		}
	/* $('.projectDiverse ul li').hover(function() {
		$('#bubble .main').html($(this).find('div').html());	
		$('#bubble').show();
		$('#bubble').css({ 'left': e.pageX - 133, 'top': e.pageY - $('#bubble').outerHeight() - 10 });
	}, function() {
		$('#bubble').hide();
	}).mousemove(function(e) {
		$('#bubble').css({ 'left': e.pageX - 133, 'top': e.pageY - $('#bubble').outerHeight() - 10 });
	}); */
	
	// bubble international
	if($('div.map').length > 0) {
		$('div.map').prepend('<img src="" alt="Referenz" id="internationalPicture" style="display:none; position:absolute; z-index:95;" />');
	}
	$('div.map ul li').mouseover(function(e) {
		$('#internationalPicture').attr('src', $(this).find('a').attr('rel'));
		$(this).parent().find('li').css('z-index', '94');
		$(this).css('z-index', '96');
		var height = e.pageY - $('#internationalPicture').height() / 2 - $('div.map').position().top;
		var width = e.pageX - $('#internationalPicture').width() / 2 -  $('div.map').position().left;
		$('#internationalPicture').css({'left':width, 'top':height })
		if($.browser.msie) {
			$('#internationalPicture').show();
		} else {
			$('#internationalPicture').fadeIn(200);
		}

	}).mousemove(function(e) {
		var height = e.pageY - (($('#internationalPicture').height() / 2) + 20) - $('div.map').position().top;
		var width = e.pageX - $('#internationalPicture').width() / 2 -  $('div.map').position().left;
		$('#internationalPicture').css({'left':width, 'top':height })
	}).mouseleave(function() {
		if($.browser.msie) {
			$('#internationalPicture').stop(true, true).hide();
		} else {
			$('#internationalPicture').stop(true, true).fadeOut(200);
		}
	});
	/*$('#internationalPicture').mouseleave(function() {
		$(this).hide();
	});*/
	// flash projekte
	$('#projectDetail ul.screen li.flash').each(function() {
		var element = $(this)
		window.setTimeout(function() {
			if($('#pageFoot').find('object, embed').length > 0) {
				element.show();
			}
		}, 1);


		
		
		/*
		var plugins = navigator.plugins, flashInstalled = false;
		for(var i = 0, to = plugins.length; i< to; i++) {
			 if(plugins[i].name.match(/(shockwave\s)?flash/gi))
				  flashInstalled = true;
		}
		if(flashInstalled) {
			$(this).show();
		}*/
	});

// Branchenselektor

	//liest aktuelle ul Höhe aus und trägt sie ein
	$('#selectBranch ul').each(function() {
		actualHeight = $(this).height();
		$(this).attr('ulHeight', actualHeight);
	});

	$('#selectBranch ul').css('height', '0');		

	$('#selectBranch div.tst').hover(function() {
		ulHeight = $(this).children('ul').attr('ulHeight');
				
		$(this).children('ul').show().stop(false, false).animate({
			height: ulHeight
		}, 800, 'swing', function(){
			$(this).css('display', 'block');
		});
	}, function(){
		$(this).children('ul').stop(false, false).animate({
			height: 0
		}, 400, function(){
			$(this).hide();
		});
	});
		
// Animieren der Sprungmarken
function goToByScroll(id){
	    $('html,body').animate({scrollTop: $(id).offset().top},'slow');
	}

$('.tst li a').click(function() {
	var target = $(this).attr('href');
	goToByScroll(target);
	return false;
});
	
$('a.backTop').click(function() {
	$('body,html').animate({
		scrollTop:0
		}, 800);
		return false;
});	
	
	
	
	
	// Megamenü
	var templist = $('#pageHead div.topNav ul li.projects ul.subLevel').html();
	var itemClass = ['project'];
	var heading = 'Projekte';
	var description = 'Hier gibt es was zu sehen:<br/> Wir präsentieren eine Auswahl unserer Arbeiten aus den letzten Jahren. <br/><br/><span>Bitte wählen Sie eine Kategorie</span>';
	var picType = '.png';

	$('#pageHead div.topNav ul li.projects').addClass('projectsMega');
	$('#pageHead div.topNav ul li.projectsMega').removeClass('projects');
	$('#pageHead div.topNav ul li.projectsMega ul.subLevel').remove();
	
	$('#pageHead div.topNav ul li.projectsMega a').after('<ul class="subLevel"><li class="detailView"><h4>' + heading + '</h4><img src="/pics/megamenu/pi_megamenu_' + itemClass[0] + picType + '" alt=""><p>' + description + '</p></li><li><ul>' + templist + '</ul></li></ul>');
	
	if($.browser.msie) {
		$('.topNav ul li.projectsMega ul.subLevel').css('background','url(/pics/megamenu/ie_bg_megamenu.png) left bottom no-repeat');
	}
	
	$('#pageHead div.topNav ul li.projectsMega ul.subLevel li ul li.last').removeClass('last');
	$('#pageHead div.topNav ul li.projectsMega ul.subLevel').css('min-height', '180px').css('width', '735px');
	$('#pageHead div.topNav ul li.projectsMega ul.subLevel li.none').removeClass('none');
	$('#pageHead div.topNav ul li.projectsMega ul.subLevel li ul li.projekte').remove();
	undoMenuImage(itemClass, heading, description, picType);
	
	// Navigation an iDevices anpassen
	if((navigator.userAgent.match(/iPad/i))) {
			var outputProjects = '<ul class="linkOverview"><li><a href="/projekte">zur Übersicht</a></li></ul>';
			$('div.topNav li.projectsMega ul.subLevel > li:last-child').prepend(outputProjects);
			
			$('ul li.projectsMega > a').click(function() {
				return false;
			});
	}
	
	$('ul li.projectsMega ul.subLevel li ul li a').hover(function(){
		if(!$(this).parents('ul').hasClass('linkOverview')) {
			var itemClass = $(this).parent().attr('class').split(' ');
			var heading = $(this).children().html();
			var description = $(this).attr('title');
			var picType = '.jpg';
			
			$('ul li.projectsMega ul.subLevel li h4').html(heading);
			$('ul li.projectsMega ul.subLevel li img').attr('src', '/pics/megamenu/pi_megamenu_' + itemClass[0] + picType);
			$('ul li.projectsMega ul.subLevel li p').html(description);
		}
	}, function(){
		if(!$(this).parents('ul').hasClass('linkOverview')) {
			undoMenuImage(itemClass, heading, description, picType);
		}
	});
	
	$('ul li.projectsMega ul.subLevel li ul li a').click(function(){
		if(!$(this).parents('ul').hasClass('linkOverview')) {
			var itemClass = $(this).parent().attr('class').split(' ');
			var heading = $(this).children().html();
			var description = $(this).attr('title');
			var picType = '.jpg';
			
			$('ul li.projectsMega ul.subLevel li h4').html(heading);
			$('ul li.projectsMega ul.subLevel li img').attr('src', '/pics/megamenu/pi_megamenu_' + itemClass[0] + picType);
			$('ul li.projectsMega ul.subLevel li p').html(description);
		}
	});
	
	
	
});
function slideImg() {
	var oldEl = $('#sliderManagement').find('a:visible');
	if(oldEl.next('a').length > 0) {
		var newEl = oldEl.next('a');
	} else {
		var newEl = $('#sliderManagement').find('a:first');
	}
	oldEl.css('z-index', '1');
	newEl.css('z-index', '2');
	
	newEl.fadeIn(2000, function() {
		oldEl.hide();
		window.setTimeout(function() {
			slideImg();
		}, 5000);
	});
}

function undoMenuImage(itemClass, heading, description, picType) {	
	if($('ul li.projectsMega ul.subLevel li ul li.active').length){
		itemClass = $('ul li.projectsMega ul.subLevel li ul li.active').attr('class').split(' ');
		heading = $('ul li.projectsMega ul.subLevel li ul li.active a span').html();
		description = $('ul li.projectsMega ul.subLevel li ul li.active a').attr('title');
		picType = '.jpg';
	}
	
	$('ul li.projectsMega ul.subLevel li h4').html(heading);
	$('ul li.projectsMega ul.subLevel li img').attr('src', '/pics/megamenu/pi_megamenu_' + itemClass[0] + picType);
	$('ul li.projectsMega ul.subLevel li p').html(description);	
}

 
