// Main javascript document
$(document).ready(function() {

	// Apply image roll to all gallery_rolls
	$('.gallery_roll').imageRoll();
	
	// Submit form
	$('form').submit(function(){
		
		// Get formdata and add type
		var formData = $(this).serialize() + '&type=' + $(this).attr('rel');

		$.get('includes/ajax.php', formData, function(validate) {
			
			validate = $.parseJSON(validate);
			
			if(validate.error){
				popup(validate.error, 'error');
			}
			
			if(validate.success){
				popup(validate.success, 'success');
			}
			
		});

		return false;

	});
	
	// Go back in gallery
	$('#prev, #next').live('click', function(){

		var perPage = $('#perPage').val();
		var page = $('#page').val();
		var action = $(this).attr('id');
		var prevFrom = $('#prevFrom').val();
		var nextFrom = $('#prevFrom').val();

		if(action == 'prev') page = Number(page) + 1;
		else if(action == 'next') page = Number(page) - 1;

		$.get('includes/ajax.php', {type:'gallery', perPage:perPage, page:page}, function(data) {
			
			data = $.parseJSON(data);
			
			var output = '';
			
			$.each(data.images, function(key, val){
				
				output 	+= 	'<a href="galleri.php?id=' + val.id + '" class="img">'
						 + 		'<img src="includes/thumb.php?url=img/galleries/' + val.dir + '/' + val.filename + '&w=300&h=225" width="300" height="225" alt="" />'
						 +   	'<div class="title">' + val.date + '</div>'
						 +   	'<div class="subtitle">' + val.name + '</div>'
						 +   '</a>';
				
			});

			output += '<div class="btnContainer">';
			if(data.prevFrom != null) output += '<a href="javascript:;" class="btn m fl" id="prev">Äldre bilder</a>';
			if(data.nextFrom != null) output += '<a href="javascript:;" class="btn m fr" id="next">Nyare bilder</a>';
			output += '</div>';
			
			$('#page').val(data.page);
			
			$('#images').html(output);
			
		});

	});

});

// Image roll function
jQuery.fn.imageRoll = function(){ 

	// Variables
	var parent = $(this);
	var containerWidth = 0;
	var imgWidth = $(this).find('.slide:first-child').width();
	var operator = '';
	
	// Get and set container width
	$.each($(this).find('.slide'), function() { containerWidth += $(this).width(); });
	$(this).children('.container').css('width', containerWidth);
	
	// Define slide function
	function slide(){
		var margin = parent.children('.container').css('marginLeft');
		if(margin == '-' + (containerWidth - imgWidth) + 'px') operator = '+';
		else if(margin == '0px') operator = '-';
		$(parent).find('.container').delay(3000).animate({
			marginLeft: operator + '=' + imgWidth
		}, 1000, function() {
			slide();
		});
	}
	
	// Call slide function
	slide();

};

// Popup function
function popup(msg, type){
	
	var html = 	'<div class="overlay">'
			 +		'<div class="popup">'
			 +			'<a href="javascript:;" class="close"></a>'
			 +			'<div class="icon ' + type + '"></div>'
			 +			'<div class="text"><p>' + msg + '</p></div>'
			 +		'</popup>'
			 +	'</div>';

	$('body').prepend(html);
	
	// Correct text height
	var height = $('.popup').height() - $('.popup .header').height() - 38;
	//$('.popup .text').height(height);
	
	var margin = $('.popup .text p').height() - 6;
	//$('.popup .text p').css('margin-top', -margin);
	
	//alert( $('.popup .text p').height() );
	
	$('.overlay').hide().fadeIn(500);
	
	$('.popup .close, .overlay').click(function(){
		$('.popup, .overlay').fadeOut(500, function(){
			$('.popup, .overlay').remove();
		});
	});
	
}

// Popup function
function calendarEvent(unix){
	
	$.get('includes/ajax.php', {type:'calendar_event', unix:unix} , function(data) {

		data = jQuery.parseJSON(data);
		
		var html = 	'<div class="overlay">'
				 +		'<div class="calendar_event">'
				 +			'<a href="javascript:;" class="close"></a>'
				 +			'<div class="icon event">' + data.dayNum + '</div>'
				 +			'<div class="header">'
				 +				'<p class="title">' + data.day + '</p>'
				 +				'<p class="subtitle">' + data.date + '</p>'
				 +			'</div>';
				 
		$.each(data.events, function(key, val){
			html	+=	'<div class="event">';
			html 	+= 		'<div class="text"><strong>' + val.name + '</strong><span class="fr">' + val.time + '</span></div>';
			html 	+= 		'<div class="text">' + val.text + '</div>';
			html 	+=	'</div>';
		});
		
		html 	+= 		'</popup>'
				+	'</div>';
					
		$('body').prepend(html);
		
		$('.overlay').hide().fadeIn(500);
		
		$('.popup .close, .overlay').click(function(){
			$('.popup, .overlay').fadeOut(500, function(){
				$('.popup, .overlay').remove();
			});
		});
		
	});
	
}

// Load calendar with unix timestamp
function loadCalendar(unix){
	$.get('includes/ajax.php', {type:'calendar', unix:unix} , function(data) {
		$('.calendar .content').html(data);
	});
}

