/** 
* Lindemans.se Core
* 
* @copyright Osynlig AB
* @author Andreas Jansson 
* @version 1.2
**/

var core = {

	overlay : null,
	
	contestLink : null,

	/**
	* Core init
	*/
	
	init : function() {
		this.global();
		this.cookie();
		this.orderFrame();
		this.contest();	
	},
	
	/**
	* Global functions for the site
	*/
	
	global : function() {
	
		overlay = jQuery('<div id="overlay"> </div>');
	    $(document.body).append(overlay);
	    $(overlay).hide();
   
		$('input').click(function(){
			$(this).select();
		});
	
		$('textarea').click(function(){
			$(this).select();
		});	
		
		$('#next-wine').live('click', function(){
			if($.support.opacity) {
				core.set_wine();
			} else {
				core.set_wine_ie();
			}
		});
		
		$('#back').live('click', function(){
			$('#contest-area').fadeOut();
			
			setTimeout( function() {
				$('#order-frame').fadeIn('fast');
				$('.fadein-content h3').fadeIn('fast');
				$('.fadein-content p').fadeIn('fast');	
				$('.fadein-content h1').fadeIn('fast');
			}, 400 ); 
		});
		
		$('#back-rulse').live('click', function(){
			$('#rules').fadeOut();
			
			setTimeout( function() {
				$('#contest-area').fadeIn();
				$('aside').append(contestLink);
			}, 400 );
		});
		
		$('#info-btn').click(function(){
			$('#overlay').fadeIn(500);
        	$('#wine-info').fadeIn(500);
		});
		
		$('.info-btn-open').live('click', function(){
	   		$('#wine-info').fadeOut(500);
	   		$('#overlay').fadeOut(500);
	   	})
	
	   	$('#overlay').live('click', function(){
	   		$('#wine-info').fadeOut(500);
	   		$('#overlay').fadeOut(500);
	  	})
	},
	
	/**
	* Contest functions
	*/
	
	contest : function() {
		$('#contest').submit(function(e){
			if($('#motivation').val() == 'Mitt bästa grilltips *' || $('#motivation').val().length <= 0 ) {
				$('#motivation').css('border', '1px solid red');
				e.preventDefault();
			}
		
			if( $('#firstname').val() == 'Förnamn *' || $('#firstname').val().length <= 0 ) {
				e.preventDefault();
				$('#firstname').css('border', '1px solid red');
			}
			
			if($('#lastname').val() == 'Efternamn *' || $('#lastname').val().length <= 0 ) {
				$('#lastname').css('border', '1px solid red');
				e.preventDefault();
			}
			
			if($('#email').val() == 'Epostadress *' || $('#email').val().length <= 0 ) {
				$('#email').css('border', '1px solid red');
				e.preventDefault();
			}
			
			if($('#phone').val() == 'Telefonnummer *' || $('#phone').val().length <= 0) {
				$('#phone').css('border', '1px solid red');
				e.preventDefault();
			}
		});
	},
	
	/**
	* Main functions for the age cheeck
	*/
	
	cookie : function() {
		$('#no').click(function(){
			$.cookie("verification", "false", { expires: 7 });
		});
		
		if($.cookie("verification") == 'true') {
			$('li.verification').hide();
			
			// Rose
			if( window.location.hash === '#rose' ) {
				
				
				$('header').removeClass('bin99header').addClass('pink');
				$('header section').removeClass('bin99header').addClass('pink');
			
				$('.rose').fadeIn('slow', function() {
						$('.pink').show();
				});
				
				core.rose_animation();
				return;
				
			} else {

				$('.bin99header').fadeIn('slow', function(){
						$('.bin99').show();
				});
				if($.support.opacity) {
				
					core.start_animation();
				} else {
					core.start_animation_ie();
				}
			}
				
		} else {
			$('li.verification').show();
		}
		
		$('#yes').click(function(){
			if($.cookie("verification") == 'false') {
				return;
			} else {
				$.cookie("verification", "true", { expires: 7 });
				
				$('li.verification').fadeOut('slow', function() {
					if( window.location.hash === '#rose' ) {
				
						$('.bin99header').css('display', 'block');
						
						$('header').removeClass('bin99header').addClass('pink');
						$('header section').removeClass('bin99header').addClass('pink');
					
						$('.rose').fadeIn('slow', function() {
								$('.pink').show();
						});
						
						
						if($.support.opacity) {
						
							core.rose_animation();
						} else {
							core.rose_animation_ie();
						}
						return;
						
					} else {
		
						$('.bin99header').fadeIn('slow', function(){
								$('.bin99').show();
						});
						if($.support.opacity) {
						
							core.start_animation();
						} else {
							core.start_animation_ie();
						}
					}
				});
			}
		});
	},
	
	/**
	* Main function for the order frame
	*/
	
	orderFrame : function() {
		$('#order').click(function(){
			$('.ordertitle').show();
			$('.box-content').show();
			
			$('#order-frame').fadeIn('slow', function(){
				$('#order-frame').css('display', 'block');
			});
			
			$('#close-btn').show();
			$('#close-btn').css('display', 'block');
		});
	},
	
	rose_animation : function() {
		
		$('#rose').animate({
			height: '+=247px',
			width: '+=141px',
			opacity: 1.0
		}, 700, 'swing', function(){
			var aside = $(this).parent(); // aside
			var listObject = $(aside).parent(); // li.rose
			var rubrik = $(listObject).find('h1'); // h1
			// Animate main header
			$(rubrik).fadeIn(420, function(){
				$('.fadein-content').fadeIn('fast', function(){
					$('aside a.info-box-link').show();
					$('aside a img').show();
				});
			});
		});
		
	},
	
	rose_animation_ie : function() {
	
		$('#rose').animate({
			height: '+=247px',
			width: '+=141px'
		}, 700, 'swing', function(){
			var aside = $(this).parent(); // aside
			var listObject = $(aside).parent(); // li.rose
			var rubrik = $(listObject).find('h1'); // h1
			// Animate main header
			$(rubrik).fadeIn(420, function(){
				$('.fadein-content').fadeIn('fast', function(){
					$('aside a.info-box-link').show();
					$('aside a img').show();
				});
			});
		});
		
	},
	
	/**
	* Function to close the orderframe
	*/
	
	close_box : function(){
		$('.ordertitle').hide();
		$('.box-content').hide();
		$('#close-btn').fadeOut('slow', function(){});
		$('#order-frame').fadeOut('slow', function(){});
	},
	
	/**
	* Function for the start animation after agecheck
	*/
	
	start_animation : function() {
		$('#bin99').animate({
			height: '+=247px',
			width: '+=101px',
			opacity: 1.0
		}, 700, 'swing', function(){
			var aside = $(this).parent(); // aside
			var listObject = $(aside).parent(); // li.rose
			var rubrik = $(listObject).find('h1'); // h1
			// Animate main header
			$(rubrik).fadeIn(420, function(){
				$('.fadein-content').fadeIn('fast', function(){
					$('aside a.info-box-link').show();
					$('aside a img').show();
				});
			});
		});
	},
	
	/**
	* Function for the start animation after agecheck
	*/

	
	start_animation_ie : function() {
		$('#bin99').animate({
			height: '+=247px',
			width: '+=101px'
		}, 700, 'swing', function(){
			var aside = $(this).parent(); // aside
			var listObject = $(aside).parent(); // li.rose
			var rubrik = $(listObject).find('h1'); // h1
			// Animate main header
			$(rubrik).fadeIn(420, function(){
				$('.fadein-content').fadeIn('fast', function(){
					$('aside a.info-box-link').show();
					$('aside a img').show();
				});
			});
		});
	},
	
	/**
	* Main animations for the wine pages.
	*/
		
	set_wine : function() {
		var current_wine = $('header #header-content').attr('class');
		
		
		var fadeOutList = null;
		var fadeInList = null;
		var nextWineLink = null;
		var nextWineClass = null;
		var removeThis = null;
		var widthshrink = null;
		var widthLarge = null;
		
		if( current_wine == 'shiraz' ) { 
			fadeOutList = 'shiraz';
			fadeInList = 'bin99';
			nextWineLink = '<a href="#rose" class="shiraz" id="next-wine""><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">LINDEMAN’S BIN 99 PINOT NOIR</span></p></a>';
			nextWineClass = 'bin99header';
			removeThis = 'shiraz';
			widthShrink = '151px';
			widthLarge = '101px';
		} else if( current_wine == 'bin99header' ) {
			fadeOutList = 'bin99';
			fadeInList = 'bin';
			nextWineLink = '<a href="#bin" class="shiraz" id="next-wine" "><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s ROSÉ</span></p></a>';
			nextWineClass = 'bin';
			removeThis = 'bin99header';
			widthShrink = '101px';
			widthLarge = '152px'; 
		} else if( current_wine == 'bin' ) {
			fadeOutList = 'bin';
			fadeInList = 'rose';
			nextWineLink = '<a href="#chardonnay" class="shiraz" id="next-wine" "><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s CHARDONNAY</span></p></a>';
			nextWineClass = 'pink';
			removeThis = 'bin';
			widthShrink = '182px';
			widthLarge = '145px';
		} else if ( current_wine == 'pink'  ) { 
			fadeOutList = 'rose';
			fadeInList = 'chardonnay';
			nextWineLink = '<a href="#shiraz" class="shiraz" id="next-wine" ><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s SHIRAZ CABERNET</span></p></a>';
			nextWineClass = 'orange';
			removeThis = 'pink';
			widthShrink = '145px';
			widthLarge = '150px';
		} else if ( current_wine == 'orange' ) { 
			fadeOutList = 'chardonnay';
			fadeInList = 'shiraz';
			
			nextWineLink = '<a href="#bin" class="bin" id="next-wine" "><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s Bin 45 Cabernet Sauvignon</span></p></a>';
			nextWineClass = 'shiraz';
			removeThis = 'orange';
			widthShrink = '150px';
			widthLarge = '151px';
		}	
		
		$('aside a.info-box-link').hide();
		$('aside a img').hide();
		$('#' + fadeOutList).animate({height: '-=254px', width: '-=' + widthShrink, opacity: 0.1}, 'fast', 'swing', function(){
			$('.fadein-content').hide();
			$('#' + fadeOutList).hide();
			// Fade out & in content
			$('li.' + fadeOutList).fadeOut('fast', function(){
				$('li.' + fadeInList).fadeIn('fast', function(){
					$('#' + fadeInList).show();
					// Animate wine box and text.
					$('#' + fadeInList).animate({height: '+=253.5px', width: '+=' + widthLarge, opacity: 1.0}, '700', 'swing' , function() {
							var aside = $(this).parent(); // aside
							var listObject = $(aside).parent(); // li.rose
							var rubrik = $(listObject).find('h1'); // h1
							// Animate main header
							$(rubrik).fadeIn(420, function(){
								$('.fadein-content').fadeIn('fast', function(){
									if( fadeOutList == 'bin' ) {
										$('aside a.info-box-link').show();
										$('aside a img').show();
									}
								});
							});
					});
				});
			});
			$('a#next-wine').replaceWith(nextWineLink);
			$('#next-wine').removeClass(fadeOutList);
			$('#next-wine').addClass(nextWineClass);
			$('header').removeClass(removeThis);
			$('header #header-content').removeClass(removeThis);
			$('header #header-content').addClass(nextWineClass);
			$('header').addClass(nextWineClass);
		});
	},
	
	/**
	* Main animations for the wine pages.
	*/
		
	set_wine_ie : function() {
		var current_wine = $('header #header-content').attr('class');
		
		var fadeOutList = null;
		var fadeInList = null;
		var nextWineLink = null;
		var nextWineClass = null;
		var removeThis = null;
		var widthshrink = null;
		var widthLarge = null;
		
		if( current_wine == 'shiraz' ) { 
			fadeOutList = 'shiraz';
			fadeInList = 'bin99';
			nextWineLink = '<a href="#rose" class="shiraz" id="next-wine""><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">LINDEMAN’S BIN 99 PINOT NOIR</span></p></a>';
			nextWineClass = 'bin99header';
			removeThis = 'shiraz';
			widthShrink = '151px';
			widthLarge = '115px';
		} else if( current_wine == 'bin99header' ) {
			fadeOutList = 'bin99';
			fadeInList = 'bin';
			nextWineLink = '<a href="#bin" class="shiraz" id="next-wine" "><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s ROSÉ</span></p></a>';
			nextWineClass = 'bin';
			removeThis = 'bin99header';
			widthShrink = '115px';
			widthLarge = '152px'; 
		} else if( current_wine == 'bin' ) {
			fadeOutList = 'bin';
			fadeInList = 'rose';
			nextWineLink = '<a href="#chardonnay" class="shiraz" id="next-wine" "><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s CHARDONNAY</span></p></a>';
			nextWineClass = 'pink';
			removeThis = 'bin';
			widthShrink = '182px';
			widthLarge = '145px';
		} else if ( current_wine == 'pink'  ) { 
			fadeOutList = 'rose';
			fadeInList = 'chardonnay';
			nextWineLink = '<a href="#shiraz" class="shiraz" id="next-wine" ><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s SHIRAZ CABERNET</span></p></a>';
			nextWineClass = 'orange';
			removeThis = 'pink';
			widthShrink = '145px';
			widthLarge = '150px';
		} else if ( current_wine == 'orange' ) { 
			fadeOutList = 'chardonnay';
			fadeInList = 'shiraz';
			
			nextWineLink = '<a href="#bin" class="bin" id="next-wine" "><img src="images/next-wine-arrow.png" class="next-wine-arrow right" /><p class="next-wine right"><strong>Nästa vin: </strong><span id="wine">Lindeman´s Bin 45 Cabernet Sauvignon</span></p></a>';
			nextWineClass = 'shiraz';
			removeThis = 'orange';
			widthShrink = '150px';
			widthLarge = '151px';
		}	
		
		$('aside a.info-box-link').hide();
		$('aside a img').hide();
		$('#' + fadeOutList).animate({height: '-=255.5px', width: '-=' + widthShrink }, 'fast', 'swing', function(){
			$('.fadein-content').hide();
			$('#' + fadeOutList).hide();
			// Fade out & in content
			$('li.' + fadeOutList).fadeOut('fast', function(){
				$('li.' + fadeInList).fadeIn('fast', function(){
					$('#' + fadeInList).show();
					// Animate wine box and text.
					$('#' + fadeInList).animate({height: '+=255px', width: '+=' + widthLarge }, '700', 'swing' , function() {
							var aside = $(this).parent(); // aside
							var listObject = $(aside).parent(); // li.rose
							var rubrik = $(listObject).find('h1'); // h1
							// Animate main header
							$(rubrik).fadeIn(420, function(){
								$('.fadein-content').fadeIn('fast', function(){
									if( fadeOutList == 'shiraz' ) {
										$('aside a.info-box-link').show();
										$('aside a img').show();
									}
								});
							});
					});
				});
			});
			$('a#next-wine').replaceWith(nextWineLink);
			$('#next-wine').removeClass(fadeOutList);
			$('#next-wine').addClass(nextWineClass);
			$('header').removeClass(removeThis);
			$('header #header-content').removeClass(removeThis);
			$('header #header-content').addClass(nextWineClass);
			$('header').addClass(nextWineClass);
		});
	}
	
};



$(document).ready(function(){
	core.init();
});
