$(document).ready(function(){

	$(".pop_up_overlay").css({"opacity": "0.6"});
	
	$(".pop_up_overlay").click(function(){
  	$(".pop_up_overlay").fadeOut(300);
  	$(".pop_up").fadeOut(300);
  });
  	
	$(window).resize(function(){
    center_pop_ups();
  });
  
  $(window).scroll(function(){
    center_pop_ups();
  });
	
	$("form#send_to_a_friend_form").submit(function(){
  	$("form#send_to_a_friend_form div.pop_up_loading").show();
  	var action_url = $(this).attr("action");
  	var form_data = $("form#send_to_a_friend_form").serialize();
  	
  	$.ajax({
      url: action_url,
      data: form_data,
      type: "POST",
      success: function(data){
        if($(data).find("status").text() == 1)
        {
        	$("div.send_to_a_friend_pop_up div.pop_up_errors_content").html('<p class="message">Your message was sent successfully.</p>');
        	$("div.send_to_a_friend_pop_up div.pop_up_errors").slideDown(300);
        }
        else
        {
        	var errors_csv = $(data).find("errors").text();
        	var errors = errors_csv.split(",");
        	var error_string = '<p class="message">Please correct the following before submitting the form:</p>';
        	for(var i in errors)
        	{
        		error_string += "<p>"+errors[i]+"</p>";
        	}
        	$("div.send_to_a_friend_pop_up div.pop_up_errors_content").html(error_string);
        	$("div.send_to_a_friend_pop_up div.pop_up_errors").slideDown(300);
        }
        $("#send_to_a_friend_form div.pop_up_loading").hide();
      }
    });
  	return false;
  });
  
  $("div.send_to_a_friend_pop_up div.pop_up_close").click(function(){
  	$("div.pop_up_overlay").fadeOut(300);
  	$("div.send_to_a_friend_pop_up").fadeOut(300);
  });
  
  $("div.send_to_a_friend_pop_up div.pop_up_ok").click(function(){
  	$("div.send_to_a_friend_pop_up div.pop_up_errors").slideUp(300);
  });
  
  $("form#add_to_favourites_form").submit(function(){
  	$("form#add_to_favourites_form div.pop_up_loading").show();

  	var title = $("form#add_to_favourites_form input#add_to_favourites_title").val();
  	var link = $("form#add_to_favourites_form input#add_to_favourites_link").val();
		var errors = new Array();
  	
		if(title == "")
  	{
  		errors.push("You must enter a title.");
  	}
  	if(link == "")
  	{
  		errors.push("You must enter a link.");
  	}
  	
  	if(errors.length == 0)
  	{
  		add_to_favourites_cookie(link, title);
  		$("div.add_to_favourites_pop_up div.pop_up_errors_content").html('<p class="message">Your favourite was added successfully.</p>');
      $("div.add_to_favourites_pop_up div.pop_up_errors").slideDown(300);
  	}
  	else
  	{
  		var error_string = '<p class="message">Please correct the following before submitting the form:</p>';
  		for(var i in errors)
    	{
    		error_string += "<p>"+errors[i]+"</p>";
    	}
    	$("div.add_to_favourites_pop_up div.pop_up_errors_content").html(error_string);
    	$("div.add_to_favourites_pop_up div.pop_up_errors").slideDown(300);
  	}
  	
  	$("#add_to_favourites_form div.pop_up_loading").hide();
  	
  	return false;
  });
  
  $("div.add_to_favourites_pop_up div.pop_up_close").click(function(){
  	$("div.pop_up_overlay").fadeOut(300);
  	$("div.add_to_favourites_pop_up").fadeOut(300);
  });
  
  $("div.add_to_favourites_pop_up div.pop_up_ok").click(function(){
  	$("div.add_to_favourites_pop_up div.pop_up_errors").slideUp(300);
  });
  
  $("div.like_this_pop_up div.pop_up_close").click(function(){
  	$("div.pop_up_overlay").fadeOut(300);
  	$("div.like_this_pop_up").fadeOut(300);
  });
      
});

function center_pop_ups()
{
	var window_height = $(window).height();
	var window_width = $(window).width();
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
	var scroll_offset = document.all ? iebody.scrollTop : pageYOffset;
	
	$("div.pop_up").each(function(){
		var top = ((window_height/2) - ($(this).height()/2)) + scroll_offset;
		var left = (window_width/2) - ($(this).width()/2);
		$(this).css("top", top+"px");
	  $(this).css("left", left+"px");
	});
}

function send_to_a_friend(link, title)
{
	center_pop_ups();
	$("form#send_to_a_friend_form input#send_to_a_friend_title").val(title);
	$("form#send_to_a_friend_form input#send_to_a_friend_link").val(link);
	$("form#send_to_a_friend_form input#send_to_a_friend_email").val("");
	$("form#send_to_a_friend_form input#send_to_a_friend_name").val("");
	$("form#send_to_a_friend_form textarea#send_to_a_friend_message").val("");
	$("div.pop_up_overlay").fadeIn();
  $("div.send_to_a_friend_pop_up").fadeIn();
}

function add_to_favourites(link, title)
{
	center_pop_ups();
	$("form#add_to_favourites_form input#add_to_favourites_title").val(title);
	$("form#add_to_favourites_form input#add_to_favourites_link").val(link);
	$("div.pop_up_overlay").fadeIn();
  $("div.add_to_favourites_pop_up").fadeIn();
}

function add_to_favourites_cookie(link, title)
{
	var favourites_csv = readCookie("favourites");
	if(favourites_csv == null)
	{
		favourites_csv = link+"|"+title;
	}
	else
	{
		favourites_csv += ","+link+"|"+title;
	}
	createCookie("favourites", favourites_csv, 365);
	if($("div.favourites").css("display") == "block")
	{
  	$.ajax({
	    url: site_root+"master_pages/master.ajax.php",
	    data: "function=get_favourites",
	    type: "GET",
	    success: function(data){
	    	$("div.favourites").html(data);
	    }
	  });
	}
}

function add_to_outlook(eventId, server, domain)
{
	url = "http://" + server + "/" + domain + "/" + "/generateICS.php?id=" + eventId;
	document.location.href=url;
}

function remove_from_favourites_cookie(key)
{
	var favourites_csv = '';
	var favourites_array = readCookie("favourites").split(",");
	var count = 0;
	for(var i in favourites_array)
	{
		if(count != key)
		{
			if(favourites_csv == "")
			{
				favourites_csv = favourites_array[i];
			}
			else
			{
				favourites_csv += ","+favourites_array[i];
			}
		}
		count++;
	}
	if(favourites_csv == "")
	{
		createCookie("favourites", favourites_csv);
	}
	else
	{
		createCookie("favourites", favourites_csv, 365);
	}
	$.ajax({
    url: site_root+"master_pages/master.ajax.php",
    data: "function=get_favourites",
    type: "GET",
    success: function(data){
    	$("div.favourites").html(data);
    }
  });
}

function share_this(link)
{
	window.open(link);
}

function tweet_this(link)
{
	window.open(link);
}

function like_this(article_id)
{
	$.ajax({
    url: site_root+"like-this/",
    data: "article_id="+article_id,
    type: "POST"
  });
	center_pop_ups();
	$("div.pop_up_overlay").fadeIn();
  $("div.like_this_pop_up").fadeIn();
}

function like_this_media(media_id)
{
	$.ajax({
    url: site_root+"like-this-media/",
    data: "media_id="+media_id,
    type: "POST"
  });
	center_pop_ups();
	$("div.pop_up_overlay").fadeIn();
  $("div.like_this_pop_up").fadeIn();
}
