/**
 * @project: labate & co fespa 2010 Münich
 * @location: 
 * @date: 09.05.2010
 * @author: Jan De Wilde & Simon Coudeville
 * @description: Core logic
 */

/**
 * Create the FESPA object variable is it is undefined
 */
 
if(typeof $.FESPA == "undefined") {
	$.FESPA = Object;
}

$.FESPA.cufon		=		{
	execute		:		function(){
		$.FESPA.cufon.goCufon();
	},
	goCufon	:		function(){
		Cufon.set('fontFamily','parisineclair')
			.replace('.ParasineClair',{ hover: true })
			
		Cufon.set('fontFamily','parisineplus')
			.replace('.ParasinePlus, #langNav li a',{ hover: true })
			.replace('#nav li a', {
					textShadow: '#161616 -1px -1px',
					hover: true
				})
			.replace('.Button, .Cufon', {
					textShadow: '-1px -1px rgba(51, 51, 51, 0.6)'
				});
	}
}

$.FESPA.height		=		{
	execute		:		function(){
		$.FESPA.height.setheight();
	},
	setheight	:		function(){
		$("body").css({height: $(document).height() + "px", position: "relative"});
		$(window).resize(function(){
			$("body").css({height: $(document).height() + "px"});
		});
	}
}

$.FESPA.scrollto		=		{
	execute		:		function(){
		$.FESPA.scrollto.goScrollTo();
		$.FESPA.scrollto.checkPosition();
	},
	
	active		:		'',
	
	checkPosition	:	function(){
		if($.FESPA.scrollto.active == '') {
			$('body').stop().scrollTo( '#pageLang', 1500, {easing:'easeInOutCirc'} );
		}
	},
	
	goScrollTo	:		function(){
		var $paneTarget = $('body');
		$('.scrollToHref').click(function(){
			var target = $(this).attr("href");
			$paneTarget.stop().scrollTo( target, 1500, {easing:'easeInOutCirc'} );
			$.FESPA.scrollto.active = target;
			return false;
		});
		var clicked = false;
		$('.DayThumb').click(function(){
			if(!clicked) {
				var location = window.location+'';
				location = location.split('#');
				location = location[0].replace("index.html","").replace("index_de.html","");
				var day = 'dayOne';
				day = $(this).attr('id');
				$('#sendToFriend').fadeOut();
				clicked = true;
				$('#moz').empty().addClass('loading').load(location+'public/moz/'+day+'/index.html #mosaicWrapper',function(response, status, xhr){
					switch(status) {
						case "success":
							var mosaicImg = $('#mosaicImg').attr('src').split('/');
							var img = mosaicImg[mosaicImg.length-1];
							
							var mozImage = location+'public/moz/'+day+'/'+img;
							$('#mosaicImg').attr('src',mozImage);
							
							var newImg = new Image();
							$(newImg)
							.load(function() {
								$('#mosaicWrapper').fadeIn("slow").addClass(day);
								$('#moz').removeClass('loading').addClass('loaded');
							})
							.error(function(){})
							.attr('src',mozImage);

							$.MOSAIC.init.construct();
							
							clicked = false;
						break;
						case "error":
							alert("Error: "+xhr);
						break;
					}
				});
			}
			$paneTarget.stop().scrollTo( '#pageMoz', 1500, {easing:'easeInOutCirc'} );
			return false;
		});
	}
}

$.FESPA.dropdown		=		{
	execute		:		function(){
		$.FESPA.dropdown.goDropDown();
	},
	goDropDown	:		function(){
		var height = $('#dropDown').height();
		$('#dropDown').css({top: "-" + height + "px"});
		$("#langNav li.Dropper").bind({
			mouseenter: function(){	
				$('#dropDown').animate({"top": "56px"}, 100, 'easeOutCirc');
				$(this).css({"height": + height + 66 + "px"})
			},
			mouseleave: function(){
				$('#dropDown').animate({top: "-" + height + "px"}, 200, 'easeInBack');
				$(this).css({"height": "66px"})
			}
		});
	}
}

$.FESPA.buttons		=		{
	execute		:		function(){
		$.FESPA.buttons.animateButtons();
	},
	animateButtons	:		function(){
		$('#langArrow').css({"opacity": 0.9});
		$('.Button').bind({
			mouseenter: function(){	
				var width1 = $(this).width() + 10;	
				$(this).animate({"width": width1}, 100);
				
			},
			mouseleave: function(){
				var width2 = $(this).width() - 10;
				$(this).stop().animate({"width": width2}, 200);
			}
		});
		$('#langArrow').bind({
			mouseenter: function(){	
				var width1 = 1000;	
				$(this).animate({"width": width1, "opacity": 1}, 100);
				
			},
			mouseleave: function(){
				var width2 = 980;
				$(this).stop().animate({"width": width2, "opacity": 0.9}, 200);
			}
		});
	}
}

$.FESPA.fadeDays		=		{
	execute		:		function(){
		$.FESPA.fadeDays.fadeDayThumb();
	},
	fadeDayThumb	:		function(){
		/*grayscale( $('.DayThumbInactive') );*/
		/*$('.DayThumbInactive').fadeTo("slow",0.3);*/
		$('.DayThumb img.Thumb').css('opacity', 0.5);
		$('.DayThumb').bind({
			mouseenter: function(){	
				$(this).find('img.Thumb').stop().fadeTo("slow", 1);
			},
			mouseleave: function(){
				$(this).find('img.Thumb').stop().fadeTo("slow", 0.5);
			}
		});
	}
}

$.FESPA.navigate		=		{
	execute		:		function(){
		$.FESPA.navigate.AWInavigate();
		$.FESPA.navigate.checkForData();
	},
	
	checkForData	:	function(){
		var location = window.location+'';
		var locationParts = location.split('#');
		location = locationParts[0].replace("index.html","").replace("index_de.html","");
		if(locationParts.length > 1) {
			var day = 'mozOne';
			switch(locationParts[1].substr(0,1)) {
				case '1':
					day = 'mozOne';
				break;
				case '2':
					day = 'mozTwo';
				break;
				case '3':
					day = 'mozThree';
				break;
				case '4':
					day = 'mozFour';
				break;
				case '5':
					day = 'mozFive';
				break;
			}
			var clicked = true;
			$('#moz').empty().addClass('loading').load(location+'public/moz/'+day+'/index.html #mosaicWrapper',function(response, status, xhr){
				switch(status) {
					case "success":
						var mosaicImg = $('#mosaicImg').attr('src').split("/");
						var img = mosaicImg[mosaicImg.length-1];
						
						var mozImage = location+'public/moz/'+day+'/'+img;
						$('#mosaicImg').attr('src',mozImage);
						
						$('#image').val(locationParts[1].substr(1));
						
						var newImg = new Image();
						$(newImg)
						.load(function() {
							$('#mosaicWrapper').fadeIn("slow").addClass(day);
							$('#moz').removeClass('loading').addClass('loaded');
							$('#btnSearchSubmit').click();
						})
						.error(function(){})
						.attr('src',mozImage);

						$.MOSAIC.init.construct();
					break;
					case "error":
						alert("Error: "+xhr);
					break;
				}
			});
			$('body').stop().scrollTo('#pageMoz', 1500, {easing:'easeInOutCirc'} );
		}
	},
	
	AWInavigate	:		function(){
		var g = new mouseNavigate("#pageDays #navigator .Navigate");
		var g = new mouseNavigate("#pageMoz .Navigate");
	}
}

$(document).ready(function() {
	$.FESPA.cufon.execute();
	$.FESPA.scrollto.execute();
	$.FESPA.height.execute();
	$.FESPA.buttons.execute();
	$.FESPA.dropdown.execute();
	$.FESPA.fadeDays.execute();
	$.FESPA.navigate.execute();
});

