$(document).ready(function() {
	
/* PRIVATE - button */
	function toggleBox(btn,box,closepos){
		if(btn.hasClass("opened")){			
			box.slideUp(500, function(){btn.removeClass("opened");$(window).scrollTo(closepos,300);});				
		}else{
			box.slideDown(500, function(){btn.addClass("opened");$(window).scrollTo(box,300);});
		}
	
	}
	$(".btn_private").live("click", function(){
			toggleBox($(this),$("#private"),"0");
			return false;
	})
	$(".btn_privaterecord").live("click", function(){
			toggleBox($(this),$("#private_record"),"0");
			return false;
	})
	
	

/* WORK - buttons */
	function toggleInfoMore(el){
		var infoObj	= $(".project_info_more", el);
		if(infoObj.hasClass("hidden")){opInfoMore(infoObj);}else{closeInfoMore(infoObj);}	
	}	
	function opInfoMore(el){
		
		var el_h = el.height();
		var h_i = 190;
		var li_h	= el.closest("li").outerHeight();
		var li_h_n	= li_h+el_h;
		var c = Math.ceil(li_h_n/h_i);
		
		var el_h_n = ((c*h_i)-li_h)+11;
		
		el.show().animate({height:el_h_n}, 500, function(){
			el.removeClass("hidden");
		})
		
	}
	
	function closeInfoMore(el){
		el.slideUp(500, function(){el.addClass("hidden");el.height("auto"); });
	}
	
	$(".btn_work").live("click", function(){
			$("#work").toggle();
			$(this).toggleClass("opened");
			return false;
	})												  
	$("#portfolio li a.more").live("click", function(){toggleInfoMore($(this).closest("li"));return false;})
	

/* WORK - list */
	var w1	=	542;
	var h1	= 	300;
	
	var w2	=	256;
	var h2	=	143;

	var lastOpnedItem = false;
	
	$("#portfolio img").lazyload({
		placeholder : "/img/html8/loader.gif", 
		threshold : 100,
		failurelimit : 10
	});
	//effect      : "fadeIn",
	
	function opProject(el){				
			$(".gallery_content", el).children().andSelf().stop().animate({width:w1+"px", height:h1+"px"},'fast');
			
			el.addClass("opened").stop().animate({ width:w1+"px" }, 500, function() {
				var _this	= $(this);
				$(".project_info", _this).slideDown();
				$(window).scrollTo(_this, 500 );
				
				var galleryObj		= $(".gallery_content", _this);				
				var galleryConstr	= galleryObj.data("constr");		
				var galleryImgPath	= galleryObj.data("imgpath");			
				var slidesTotal		= galleryObj.data("slides");
				
				if(galleryConstr != "done"){
					galleryObj.data("constr", "done");					
					for (var i = 2; i <= slidesTotal; i++){
						galleryObj.append('<img src="'+galleryImgPath+'-slide'+i+'.jpg" alt="" />'); 
					}
					
					galleryObj.cycle({
						fx:    'scrollUp',
						speed:  '900',
						timeout: 5000
					});
				}else{
					galleryObj.cycle({
						fx:    'scrollUp',
						speed:  '900',
						timeout: 5000
					});
				}
			});
			
			lastOpnedItem = (el.get());
	}
	
											  
	$("#portfolio li:not(.banner)").live("click", function(){	
			var _this	= $(this);
			if(lastOpnedItem == false){
					opProject(_this);
			}else{				
				if(_this.hasClass("opened")){
					
				}else{
					$(".gallery_content", lastOpnedItem).cycle('destroy');
				
					$(".gallery_content", lastOpnedItem).children().andSelf().stop().animate({ width:w2+"px", height:h2+"px" }, 'fast');
					
					$(lastOpnedItem).removeClass("opened").stop().animate({ width:w2+"px" }, 'fast', function(){
						closeInfoMore($(".project_info_more",lastOpnedItem))
						opProject(_this);				
					});
					$(".project_info", lastOpnedItem).slideUp();
				}
			}
	})
	
	
	function opProjectNext(){
		$("#portfolio li.opened").nextAll(':visible:first').trigger("click");
	}
	function opProjectPrev(){
		$("#portfolio li.opened").prevAll(":visible:first").trigger("click");
	}
	$(window).keydown(function(event) {
		switch (event.keyCode) {
			case 40:opProjectNext();break;//down
			case 39:opProjectNext();break;//right
			case 38:opProjectPrev();break;//up
			case 37:opProjectPrev();break;//left
		}
	})
	   
/* WORK - filter */
	$('#filter a').live("click", function(){
		$('#filter .active').removeClass('active');
		var filter = $(this).attr("class");
		if(filter == 'all') {
			var objShow	= $("#portfolio li");
		}else{
			var objHide	= $("#portfolio li:not(."+filter+")");
			var objShow	= $("#portfolio li[class*="+filter+"]");
			objHide.hide();
		}
		objShow.show();
		$(window).trigger('scroll');
		$(this).parent().addClass('active').end().attr("title", (objShow.length)+" Projekte");
		
		return false;
	})
	
/* NERD */
	var intervID1;
	function rndbg(){
		var rnd	= 1+Math.round(Math.random()*12);
		$("#konamibg").css("background-image","url(http://www.flashjunior.ch/img/html8/dance"+rnd+".gif)");
		
		clearInterval(intervID1);
		intervID1 = setInterval(rndbg, 10000);
	}
		
	var kkeys=[], konami = "38,38,40,40,37,39,37,39,66,65";
	$(document).keydown(function(e) {
		kkeys.push( e.keyCode );
		if ( kkeys.toString().indexOf( konami ) >= 0 ){
			//$(document).unbind('keydown',arguments.callee);
			kkeys=[];
			
			if ($("#konami").length == 0){
				var audio = $("<audio>", {autoPlay:"autoplay", controls:"", preload:"none", loop:"loop"}).css({width:"200px"});
				audio.attr("id","konami");
				$("<source>").attr("src", "/download/flash.mp3").appendTo(audio);
				$("<source>").attr("src", "/download/flash.ogg").appendTo(audio);
				
				audio.appendTo("#container");
				
				alert("NERD ALERT!!\nturn up your speakers!!");
				
				intervID1 = setInterval(rndbg, 10000);
		
				$("<div id='konamibg'><p><strong>again:</strong> up up down down left right left right b a<br><strong>close:</strong> click</p></div>")
					.appendTo("#container")
					.click(function(){
						$(this).remove();
						$("#konami").remove();
						clearInterval(intervID1);
					});
			}
		}
	});
	
/* UPDATE */
	if ($.browser.msie == true && $.browser.version < 7){
		$('body').prepend("<div id='error_ie'><div>Sie verwenden einen <strong>veralteten Browser</strong> mit <strong><a href='http://en.wikipedia.org/wiki/Internet_Explorer_6#Security_issues'>Sicherheitsl&uuml;cken</a></strong>, langsamer JavaScript Engine und unterst&uuml;tzt nicht die neusten Technologien. Diese Website kann daher sehr tr&auml;ge wirken und es kann auch zu Darstellungsfehlern kommen. <a href='http://browser-update.org/update.html'>Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren k&ouml;nnen</a>.</div></div>");
	}
});
