var anispeed 	= 	500;

// PARAMETER FUNCTIONS
function getParams(from) {
	var params = {};
	if($(from).attr("params")){
		$.each($(from).attr("params").split(","), function(){		
			var thiskey = this.split(":")[0];
			//var thisval = this.split(":")[1]; 
			// enhanced for url
			var thisval = this.substr(this.split(":")[0].length+1,this.length);
			tmpobj = {};
			eval("tmpobj." + thiskey + "=thisval");
			jQuery.extend(params,tmpobj);	
		});
		return params;
	}
}

//get content	
function getContent(params) {

	$("#slideshow").removeClass("active");
	$("a.slidenav").animate({opacity: 0}, anispeed).hide();

	$.ajax({
		url: 'ajaxhandler/',
		type: 'GET',
		data: params,
		async: false,
		dataType: 'html',
		timeout: 100000,
			error: function(){ alert('Error loading data'); location.href=obj.href; },
			beforeSend: function(thisXHR){
				
				$("#toggleslideshow").addClass("disabled");
				
				//remove content
				$("#ajaxcanvas").animate({opacity: 0}, 300, function() {
					
					//slide to img
					slideToImg(params.imgID-1);
					
					$("div#loader").fadeIn(300);
					
					//show bg canvas
					$("#opacitycanvas").animate({opacity: .6}, anispeed, function() {});
				
				});

			},
			success: function(content){				
				//wait for beforeSend animation to complete
				var wait = setInterval(function() {
					if(!$("#opacitycanvas, #slideshow, #ajaxcanvas").is(":animated")) {
						clearInterval(wait);

						$("#ajaxcanvas").html(content).animate({opacity: 1}, anispeed);
						$("div#loader").fadeOut(300);
						
						//reload fonts
						Cufon.refresh();
						
						//fancybox
						$("a.lightbox").fancybox({
		                    width: 480,
		                    height: 440,
		                    padding: 0,
		                    hideOnOverlayClick: false,
		                    'type': 'iframe',
		                    'scrolling': 'no',
		                    'autoScale': false,
		                    'overlayShow': false,
		                    'titleShow': false
						});
						
						//fancybox
						$("a.booktable").fancybox({
		                    padding: 0,
		                    hideOnOverlayClick: false,
		                    'scrolling': 'no',
		                    'autoScale': false,
		                    'overlayShow': false,
		                    'titleShow': false,
		                    opacity: true,
		                    'type': 'ajax',
		                    'onComplete' : function() {
		                    	
		                    		var options = { 
									    target:     '#contactform', 
									    success:    function() { 
									        //alert('Thanks for your comment!'); 
									    } 
									}; 
		                    	
		                    		//ajax form
		                    		$('#contactform').ajaxForm(options);
		                    		
// Released under MIT license: http://www.opensource.org/licenses/mit-license.php

$('[placeholder]').focus(function() {
  var input = $(this);
  if (input.val() == input.attr('placeholder')) {
    input.val('');
    input.removeClass('placeholder');
  }
}).blur(function() {
  var input = $(this);
  if (input.val() == '' || input.val() == input.attr('placeholder')) {
    input.addClass('placeholder');
    input.val(input.attr('placeholder'));
  }
}).blur().parents('form').submit(function() {
  $(this).find('[placeholder]').each(function() {
    var input = $(this);
    if (input.val() == input.attr('placeholder')) {
      input.val('');
    }
  })
});
		                    	
		                    	}
						});
						
						//remove disabled function from toggle
						$("#toggleslideshow").removeClass("disabled");
				        						
					}
				}, 200);
						
			}			
		});
}

//slide image left or right
function slideImg(direction, slidepx) {
		
	//add class active to active image
	//$("img","ul#slideshow").removeClass("active").eq(imgN).addClass("active");	
	
	var imgN = $("img","#slideshow").index($("img.active"));
			
	//animate
	if(direction == 'right') {
		$("ul#slideshow").animate({left: "-="+slidepx}, 350);
		$("img","ul#slideshow").removeClass("active").eq(imgN+1).addClass("active");

	} else {
		$("ul#slideshow").animate({left: "+="+slidepx}, 350);
		$("img","ul#slideshow").removeClass("active").eq(imgN-1).addClass("active");
	}
	
	showArrows();
	
}


//slide to image
function slideToImg(imgN) {
		
	//calculate width of slide
	var imgX 	= $("img:first","ul#slideshow").width();
	var slidepx = imgX * imgN;
	
	//get index of active slide
	var imgA = $("img","#slideshow").index($("img.active"));
	
	//calulate speed
	var iSpeed = imgN - imgA;
	
	//if a negative value
	if(iSpeed < 0) { var iSpeed = imgA - imgN; }
	
	//add upp speed
	var iSpeed = iSpeed * 350;
		
	//add class active to active image
	$("img","ul#slideshow").removeClass("active").eq(imgN).addClass("active");	
		
	$("ul#slideshow").animate({left: "-"+slidepx}, iSpeed);
	
	showArrows();
	
}

//show slide turn content off
function toggleSlide(obj) {
	
	//active slide
	if($("#slideshow").hasClass("active")) {

		$("a.active","ul.menu").click();
		$(obj).removeClass("active");		
	
	//not active
	} else {
		
		$("#ajaxcanvas").animate({opacity: 0}, anispeed, function() {
			$("#opacitycanvas").animate({opacity: 0}, anispeed, function() {
				showArrows();
				
				$("#toggleslideshow").removeClass("disabled");
				
			});
		});
		
		$("#slideshow").addClass("active");
		$(obj).addClass("active");
	}

}

//show nav arrows
function showArrows() {
	if($("#slideshow").hasClass("active")) {
		
		$("a.slidenav").css({"display" : "block"}).animate({opacity: 1}, anispeed);
	
		var imgN = $("img","#slideshow").index($("img.active"));
		var imgLast = $("li","#slideshow").index($("li:last"));
			
		//alert(imgLast);
								
		//if first image
		if(imgN == 0) {
			$("a.slidenav.prev").hide().animate({opacity: 0}, anispeed);
		} else if (imgN == imgLast) {
			$("a.slidenav.next").hide().animate({opacity: 0}, anispeed);
		}
	
	}
}

//twitter relative time
function relative_time(time_value) {
	var values = time_value.split(" ");
	time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	var parsed_date = Date.parse(time_value);
	var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	delta = delta + (relative_to.getTimezoneOffset() * 60);
	
	if (delta < 60) {
	  return 'mindre än en minut sedan';
	} else if(delta < 120) {
	  return 'en minut sedan';
	} else if(delta < (60*60)) {
	  return (parseInt(delta / 60)).toString() + ' minuter sedan';
	} else if(delta < (120*60)) {
	  return 'en timma sedan';
	} else if(delta < (24*60*60)) {
	  return 'about ' + (parseInt(delta / 3600)).toString() + ' timmar sedan';
	} else if(delta < (48*60*60)) {
	  return '1 dag sedan';
	} else {
	  return (parseInt(delta / 86400)).toString() + ' dagar sedan';
	}
}

//get latest tweet
function getLatestTweet() {
	
		var username	=	'papatranquilo'; // set user name
		var format		=	'json'; // set format, you really don't have an option on this one
		var turl		=	'http://api.twitter.com/1/statuses/user_timeline/'+username+'.'+format+'?callback=?'; // make the url
	
		$.getJSON(turl, function(tweet){ // get the tweets
			$("#last-tweet").html('<p>' + tweet[0].text + '</p>' + '<p class="date">' + relative_time(tweet[0].created_at) + '</p>'); // get the first tweet in the response and place it inside the div
		});
}

//slide function for food and drinks
function foodSlide(obj) {

	params = getParams(obj);
	var fid = params.fid;
	
	//remove active
	$("div.active","div.info").removeClass('active');
	
	//add active
	$("#info"+fid).addClass('active');
	
	$("div.foodwrapper.active","#foodlist, #drinklist").animate({opacity:0}, 200, function() {
		$(this).removeClass('active');
		$("#fparent"+fid).css({opacity:0}).addClass('active').animate({opacity:1}, 200);
	});
	
	Cufon.refresh('ul.submenu li a');
	
}

//add posters to left and right side
function addSidePosters() {
	
	$("#table").append('<img src="wp-content/themes/tranquilo_light_version/images/Tranq_Billboard_Left.png" class="billboard left" />');
	$("#table").append('<img src="wp-content/themes/tranquilo_light_version/images/Tranq_Billboard_Right.png" class="billboard right" />');
	
	//when the images has loaded
	$('img.billboard').load(function() {
		
		//slide out billboards
		adjustBillboards('animate');
		
	});
	
}

//adjust billboard position
function adjustBillboards(fix) {

	var dw = $(document).width();
	var bw = $("#bgwrapper").width();
	
	//the white space
	var overw = dw - bw;
	
	//two pictures
	var diff = overw/2;
	var diff = diff/1.2;
	
	var imgl = $('img.billboard.left').width();

	var diff = imgl - diff;
	if(fix == 'animate') {
		$('img.billboard.left').animate({ left: "-" + diff + "px" });
		$('img.billboard.right').animate({ right: "-" + diff + "px" });
	} else {
		$('img.billboard.left').css({ left: "-" + diff + "px" });
		$('img.billboard.right').css({ right: "-" + diff + "px" });
	}
	
}

/*** when site is ready ****/
$(document).ready(function() {
		
	$("a.message").fancybox({
		'autoScale': false,
		'overlayShow': false,
		'titleShow': false,	
		'titleShow': false,
		opacity: true,
		hideOnOverlayClick: false,
		padding: 0,
		wrapCSS:	'message-pop',
		centerOnScroll : false
	});
		
	//toggle slideshow
	$("#toggleslideshow").live("click", function() {

		if(!$(this).hasClass("disabled")) {
			$(this).addClass('disabled');

			toggleSlide(this);
			$("span.toggle_text").animate({ right: '-80px' });
		}
						
		return false;
	});
	
	//hover for slideshow
	$("#toggleslideshow").hover(function() {	
		
		if($("#toggleslideshow").hasClass('active')) {
			var obj = $("span.toggle_text:eq(1)");
		} else {
			var obj = $("span.toggle_text:eq(0)");
		}
		
		obj.stop().animate({ right: '15px'}, 500);
	},
	function() {
		
		if($("#toggleslideshow").hasClass('active')) {
			var obj = $("span.toggle_text:eq(1)");
		} else {
			var obj = $("span.toggle_text:eq(0)");
		}
		
		obj.stop().animate({ right: '-80px'}, 500);
	});
	
	//get ajax from menu
	$("a","ul.menu").not(".active").click(function() {		
		var params = getParams($(this));
		getContent(params);
		
		$("a.active","ul.menu").removeClass("active");
		$(this).addClass("active");
		$("#toggleslideshow").removeClass("active");
		
	});
	
	//slide nav
	$("a.slidenav").click(function() {
		
		var imgN = $("img","#slideshow").index($("img.active"));
		var way = $(this).attr("title");

		if(way == 'next') {
			slideToImg(imgN + 1);
		} else {
			slideToImg(imgN - 1);
		}
		
		return false;
			
	});
	
	//slide with arrows
	$(document).keydown(function(e) {
		if (e.keyCode == 37) {
			$("a.slidenav.prev:visible").trigger("click");
		} else if (e.keyCode == 39) {
			$("a.slidenav.next:visible").trigger("click");
		}
	});
	
	//trigger click on the hash
	$("a.triggerClick").live("click",function() {
	
		var anchor = $(this).attr("href");
		$("a[href="+anchor+"]","ul.menu").click();
	
	});
	
	//submenu for foods & drinks
	$("a","ul.submenu").live("click",function() {
		
		//only for not active
		if(!$(this).hasClass('active')) {
		
			var fwidth 	= $("li:first","ul.submenu").outerWidth(true);
			var obj		= $(this); 
			
			//toggle classes
			$("a.active","ul.submenu").removeClass('active');			
			$(this).addClass('active');

			foodSlide(obj);
			
		}
		
		return false;	
	});
	
});

//when site is loaded
$(window).load(function() {
	
	var anchor = $(document).attr('location').hash;
	
	if(anchor) {
		$("a[href="+anchor+"]","ul.menu").click();
	} else {
		$("a:first","ul#lmenu").click();
	}
	
	$("li.loading","#slideshow").removeClass("loading");
	
	$("#bgwrapper").animate({ opacity: 1 }, 1000, function() {
		addSidePosters();
	});
	
	//Show christmas message
	$("a.message").trigger("click");	
	
});

$(window).resize(function() {
	adjustBillboards('css');
});
