function onSWFEmbedCallback(e)
{
	if (!e.success)
	{
		$('div#motd').show().fadeTo('slow', 1);
	}
}

function getMOTD()
{
	return $("div#motd").html();
}

var flashvars = {};
var params = {};
params.wmode = "transparent";
/*params.allowfullscreen = "true";*/
var attributes = {};
swfobject.embedSWF("/flash/sosr_header.swf", "headerFlash", "929", "386", "9.0.0", false, flashvars, params, attributes, onSWFEmbedCallback);

function newdonation_share_hovers()
{
	// div.popup div.mid div.newdonation_share ul li.hover

	$("div.popup div.mid div.newdonation_share ul li").each(
		function()
		{
			var url = $(this).find("a").attr('href');

			$(this).find("a").attr('href', '#');
			$(this).find("a").click(function() { window.open(url); return false; });

			$(this).click(
				function()
				{
					window.open(url);
				}
			);

			$(this).mouseover(
				function()
				{
					$(this).addClass('hover');
				}
			);

			$(this).mouseout(
				function()
				{
					$(this).removeClass('hover');
				}
			);
		}
	);
}

function donate_add_button(buttonID, postID, sosUser)
{
	if (!_IOS_MODE)
	{
		$('#' + buttonID).mouseover(
			function()
			{
				if (!$(this).hasClass('post_donate_expired'))
				{
					var x = $(this).offset().left - (15);
					var y = $(this).offset().top - 33;
				
					if ($(this).hasClass('post_donate_supergunst'))
					{
						x += 3;
					}

					$('div#post_donate_hover').css('left', x - ($('div.mid').position().left));
					$('div#post_donate_hover').css('top', y - ($('div.mid').position().top));
					$('div#post_donate_hover').show();
				}
			}
		);

		$('#' + buttonID).mouseout(
			function()
			{
				$('div#post_donate_hover').hide();
			}
		);
	}

	$('#' + buttonID).click(
		function()
		{
			if (!$(this).hasClass('post_donate_expired'))
			{
				popup_open('Doneer', '/d/p/donate/' + postID + '/?s=' + sosUser);
			}
		}
	);
}

function post_love_update(postID)
{
	$('#loveicon_' + postID).click(
		function()
		{
			$(this).addClass('loading');

			var postLoveElement = $(this);

			$.ajax(
			{
				url: "/d/post/"+postID+"/like/",
				dataType: 'xml',
				success:
					function(data)
					{
						var data = $(data);

						tooltip_show(data.find('message').text());

						postLoveElement.removeClass('loading');

						var users = parseInt(data.find('likes').text());
						var html = '';

						if (users == 0)
						{
							html = '<span class="howmany">0 personen</span><br />waarderen dit';
						}
						else if (users == 1)
						{
							html = '<span class="howmany">1 persoon</span><br />waardeert dit';
						}
						else
						{
							html = '<span class="howmany">'+users+' personen</span><br />waarderen dit';
						}

						$("#lovecontent_" + postID).html(html);
					}
				}
			);
		}
	);
}

function message_show(text, id)
{
	if (!$('#'+id).html())
	{
		var message = $('<div class="redirectmessage"></div>');
		message.attr('id', id);
		message.html(text);

		$('#redirectmessage_container').append(message);

		$(message).click(function() { $(this).slideUp('slow'); }).slideDown('slow');
	}
	else
	{
		$('#'+id).slideDown('slow');
	}
}

function message_hide(id)
{
	if ($('#'+id).html())
	{
		$('#'+id).slideUp('slow');
	}
}

function myaction_set(v)
{
	if (v == 10)
	{
		message_show("Om geld te kunnen ontvangen van een verkochte gunst heb je een PayPal account nodig.", 'msg_10p_post_paypal');
	}
	else
	{
		message_hide('msg_10p_post_paypal');
	}

	$("#p_10").attr('checked', v == 10 ? 'checked' : '');
	$("#p_100").attr('checked', v == 100 ? 'checked' : '');

	var a, b;

	if (v == 10)
	{
		a = "#p10_image";
		b = "#p100_image";
	}
	else
	{
		a = "#p100_image";
		b = "#p10_image";
	}

	$(a).fadeIn(200);
	$(b).fadeOut(200);
}

function box_update()
{
	$("div.box").each(
		function(i, e)
		{
			if (!$(e).attr("box_handled"))
			{
				$('<div class="box_tl">').appendTo($(e));
				$('<div class="box_tr">').appendTo($(e));
				$('<div class="box_bl">').appendTo($(e));
				$('<div class="box_br">').appendTo($(e));
				$(e).attr("box_handled", 1);
			}
		}
	);
}

function trackshare(postID, sharedOn)
{
	$.ajax(
	{
		url: "/d/post/"+postID+"/share/",
		success:
			function(data)
			{
			}
		}
	);
}

function topsosr_resort(sortOn)
{
	sortOn = sortOn.replace(/^sort_/, "");

	if (list_topsosr_is_loading)
		return;

	var liID = 'topsosr_sort_' + sortOn;
	
// topsosr_sort_sosrs

	$("#loadmore_topsosr").attr("start", 1);
	$("#loadmore_topsosr").attr("sort", sortOn);

	$("ul#sort_options_topsosrlist li").removeClass("selected");

	$("#" + liID).addClass("selected");

	$("#loadmore_topsosr_text").hide();
	$("#loadmore_topsosr_loader").show();
	$("#topsosr_dynamic_staticlist").empty();
	$("#topsosr_dynamic_list").empty();

	list_topsosr_loadmore(true);
}

var list_topsosr_is_loading = false;

function list_topsosr_loadmore(doNotIncrement)
{
	if (list_topsosr_is_loading)
		return;

	list_topsosr_is_loading = true;

	var start = parseInt($("#loadmore_topsosr").attr("start"));
	var sort = $("#loadmore_topsosr").attr("sort");
	var itemsperpage = parseInt($("#loadmore_topsosr").attr("itemsperpage"));

	if (start == 0)
	{
		start = 1;
	}

	if (!doNotIncrement)
	{
		start += itemsperpage;
	}

	$("#loadmore_topsosr").attr("start", start);

	$("#loadmore_topsosr_text").hide();
	$("#loadmore_topsosr_loader").show();

	$.ajax(
	{
		url: "/d/topsosr/?start=" + start + "&sort=" + sort,
		success:
			function(data)
			{
				var content = $('<ul style="display:none;">'+data+'</ul>');

				var selectionPagesContentElement = content.find("div.selection_pages");

				var selectionstartElement = $("div.selectionstart");
				selectionstartElement.empty();
				selectionstartElement.html(selectionPagesContentElement.html());
				selectionPagesContentElement.empty();

				content.appendTo($("#topsosr_dynamic_list")).show('slow');

				$("#loadmore_topsosr_text").show();
				$("#loadmore_topsosr_loader").hide();
	
				if ($("#dynamic_list_end").attr("id"))
				{
					$("#loadmore_topsosr").hide();
				}
				else
				{
					$("#loadmore_topsosr").show();
				}

				list_topsosr_is_loading = false;

				transform_list_editButtons();
			}
		}
	);
}

var newSortOn = null;

function resort_dateRangeSelect(sortOn)
{
	newSortOn = sortOn;

	$("ul#sort_options_list li").removeClass("selected");
	$("#sort_" + sortOn).addClass("selected");

	if (sortOn == 'populair')
	{
		left = 75;
	}
	else if (sortOn == 'gewaardeerd')
	{
		left = 160;
	}

	$("div.sort_sub li").removeClass("selected");
	$("div.sort_sub").css("left", left).fadeIn('fast');
}

function resort(sortOn, dateRange, keepDateRangeSelect)
{
	if (list_is_loading)
		return;

	if (sortOn == -1)
	{
		sortOn = $("#dynamic_list").attr("sort");
	}
	else if (sortOn == -2)
	{
		sortOn = newSortOn ? newSortOn : sortOn;
	}
	else
	{
		sortOn = sortOn.replace(/^sort_/, "");
	}

	if (!keepDateRangeSelect)
	{
		$("div.sort_sub").fadeOut('fast');
	}

	if (!dateRange)
		dateRange = '';

	var liID = 'sort_' + sortOn;
	
	$("#dynamic_list").attr("page", 1);
	$("#dynamic_list").attr("sort", sortOn);
	$("#dynamic_list").attr("dateRange", dateRange);

	$("ul#sort_options_list li").removeClass("selected");
	$("#" + liID).addClass("selected");

	$("#loadmore_text").hide();
	$("#loadmore_loader").show();
	$("#dynamic_list").empty();

	list_loadmore(sortOn, dateRange, 1);
}

var list_is_loading = false;
var list_categoryURLParams = "";

function list_loadmore(sortOn, dateRange, pageNumber)
{
	if (list_is_loading)
		return;

	list_is_loading = true;

	$("#loadmore_text").hide();
	$("#loadmore_loader").show();

	var q = $("#dynamic_list").attr('q');

	if (q)
	{
		q = "&q=" + q;
	}
	else
	{
		q = '';
	}

//	alert("/d/list/"+list_categoryURLParams+"?sort=" + sortOn + "&page=" + pageNumber + "&d=" + dateRange + q);

	$("div.sort_sub li").removeClass("selected");

	if (dateRange == "maand")
		$("li#dateRange_maand").addClass("selected");
	else if (dateRange == "week")
		$("li#dateRange_week").addClass("selected");
	else if (dateRange == "vandaag")
		$("li#dateRange_vandaag").addClass("selected");
	else
		$("li#dateRange_alles").addClass("selected");

	$.ajax(
	{
		url: "/d/list/"+list_categoryURLParams+"?sort=" + sortOn + "&page=" + pageNumber + "&d=" + dateRange + q,
		success:
			function(data)
			{
				var content = $('<div style="display:none;">'+data+'</div>');

				content.appendTo($("#dynamic_list")).show('slow');

				$("#loadmore_text").show();
				$("#loadmore_loader").hide();
	
				if ($("#dynamic_list_end").attr("id"))
				{
					$("#loadmore").hide();
				}
				else
				{
					$("#loadmore").show();
				}

				list_is_loading = false;

				transform_list_editButtons();
			}
		}
	);
}

function team_add(teamID, teamName)
{
	$("#p_e_t").append($("<option></option>").attr("value", teamID).text(teamName));
	$("#p_e_t").val(teamID);
}

function team_new(redirectToTeam)
{
	if (redirectToTeam)
	{
		redirectToTeam = '?rd=1';
	}
	else
	{
		redirectToTeam = '';
	}

	popup_open('Start een team', '/d/p/team/create/' + redirectToTeam);
//	team_add(10, 'nieuw team');
}

var static_popup_element = null;

function popup_submit(url, postParams)
{
	popup_load(url, postParams);
}

function popup_open(title, url, postData)
{
	if (!postData)
		postData = Array();

	$("#disabler").fadeTo(
		300,
		0.8,
		function()
		{
			var offset = 550;
				
			if (static_popup_element == null)
			{
				var br = '<br clear="all" />';

				if (_IOS_MODE)
				{
					br = '';
				}

				static_popup_element = $('<div class="popup" id="_dyn_popup_"><div class="lines"></div><div class="begin"><div class="title">title</div><div class="close"></div></div><div class="mid"><div class="content"><img src="/images/loader.gif" class="popup_loader" /><div class="dynamiccontent"></div></div></div>'+br+'<div class="end"></div></div>');
			
				static_popup_element.appendTo($("#popupcontainer"));

				static_popup_element.find("div.close").hide().click(
					function()
					{
						if (static_popup_closeURL == null)
						{
							static_popup_element.animate(
								{
									top: '-' + (offset+50)
								},
								600,
								function()
								{
								//	$("#popupcontainer").empty();
									$("#disabler").fadeTo(300, 0, function() { $("#disabler").hide(); $("#popupcontainer").hide(); } );
									//$("#disabler").hide();
									//$("#popupcontainer").hide();
								}
							);
						}
						else
						{
							document.location = static_popup_closeURL;
						}
					}
				);
			}

			static_popup_element.find("div.begin").find("div.title").html(title);

			static_popup_element.css("top", -offset);

			static_popup_element.find("div.lines").css("height", _IOS_MODE ? 25 : 100);
				
			static_popup_element.animate(
				{
					top: '+=' + (offset)
				},
				600,
				function()
				{
					popup_load(url, postData);
				}
			);

			static_popup_element.find("div.content").find("div.dynamiccontent").empty().hide();
			
			$("#popupcontainer").show();

			static_popup_element.show();
		}
	);

	return false;
}

var static_popup_closeURL = null;

function popup_load(url, postData)
{
	static_popup_closeURL = null;

	static_popup_element.find("div.close").fadeOut('slow');
	
	static_popup_element.find("div.content").find("div.dynamiccontent").slideUp(
		'fast',
		function()
		{
			static_popup_element.find("div.content").find("div.dynamiccontent").empty().hide();

				static_popup_element.find("div.content").find("img.popup_loader").show(
					'fast',
					function()
					{
						function _popup_post()
						{
						$.ajax(
							{
								type: "POST",
								data: postData,
								url: url,
								success:
								function(data)
								{
									static_popup_element.find("div.content").find("img.popup_loader").fadeOut('fast');
									static_popup_element.find("div.content").find("div.dynamiccontent").hide().html(data).slideDown('fast');
	
									var closeElementURL = static_popup_element.find("div.content").find("div.dynamiccontent").find('div#closeEventParameter');

									if (closeElementURL && closeElementURL.attr('URL'))
									{
										static_popup_closeURL = closeElementURL.attr('URL');
									}
									else
									{
										static_popup_closeURL = null;
									}
										
									
									static_popup_element.find("div.close").fadeIn('slow');
								}
							}
						);
						}

						setTimeout(_popup_post, 200);
					}
				);
		}
	);
	
	//

/*

*/
}

function moreinfo_show(content)
{
	$('div.moreinfocontainer div.content').html(content);

	var w = parseInt($("div.moreinfocontainer").css('width'));
	$('div.moreinfocontainer').css('left', 350);
	$('div.moreinfocontainer').css('top', static_mouseY - (35 + $('div.mid').position().top));

	$('div.moreinfocontainer').fadeIn('fast');
	
	static_moreInfoVisible = true;
}

var static_moreInfoVisible = false;

var tooltip_newContent;
var tooltip_timer = null;

function tooltip_show(content, showAtCursor)
{
	tooltip_newContent = content;

	if (tooltip_timer != null)
	{
		clearTimeout(tooltip_timer);
		tooltip_timer = null;
	}

	tooltip_timer = setTimeout('tooltip_show_4real();', 50);
}

function tooltip_show_4real()
{
	if (1 || showAtCursor)
	{
		$('div.tooltip').css('left', static_mouseX + 5);// - ($('div.mid').position().left));
		$('div.tooltip').css('top', static_mouseY - 30);// - (35 + $('div.mid').position().top));
	}

	$('div.tooltip div.label div').html(tooltip_newContent);
	$('div.tooltip').fadeIn('fast');
	
	static_tooltipVisible = true;
}

var static_tooltipVisible = false;

$(document).click(
	function(event)
	{
		if (static_tooltipVisible)
		{
			static_tooltipVisible = false;
			
			if (tooltip_timer != null)
			{
				clearTimeout(tooltip_timer);
				tooltip_timer = null;
			}

			$('div.tooltip').hide();
		}

		if (static_moreInfoVisible)
		{
			static_moreInfoVisible = false;

			$('div.moreinfocontainer').hide();
		}
	
	/*
		$('div.tooltip').css('left', event.pageX- ($('div.mid').position().left));
		$('div.tooltip').css('top', event.pageY - (35 + $('div.mid').position().top));
	*/
	}
);

var static_mouseX = 0;
var static_mouseY = 0;

jQuery(document).ready(function(){
   $(document).mousemove(function(e){
		static_mouseX = e.pageX;
		static_mouseY = e.pageY;
   }); 
})

function transform_list_editButtons()
{
	$('div.editpostbutton.ntf, div.deletepostbutton.ntf').removeClass('ntf').css('cursor', 'pointer').click(
		function()
		{
			if ($(this).hasClass('deletepostbutton'))
			{
				if (confirm('Weet je zeker dat je deze gunst wilt verwijderen?'))
				{
					document.location = $(this).find('a').attr('href');
				}
			}
			else
			{
				document.location = $(this).find('a').attr('href');
			}
		}
	);
}

$(window).ready(
	function()
	{
		$('div.more_info').show().mouseover(
			function()
			{
				var e = $(this).find('div');

				moreinfo_show(e.html());
			}
		);

		$('div.header div.supernavigation div.item').click(
			function()
			{
				document.location = $(this).find('a').attr('href');
			}
		);

		$('div.requestmembership').css('cursor', 'pointer').click(
			function()
			{
				document.location = $(this).find('a').attr('href');
			}
		);

		transform_list_editButtons();

		$('div.side_teams').show();
		$('div.side_teams div.startteambutton').click(
			function()
			{
				team_new(true);
			}
		)
	
		$('div.topteams_start').show().css('cursor', 'pointer').click(
			function()
			{
				team_new(true);
			}
		);;

		$('div.header div.supernavigation div').show();

		$('.scrollable').each(
			function()
			{
				var scrollWidth = 0;
				var scrollable = $(this);
				var itemWidth = 130;
				var itemScrollWidth = itemWidth*2;
				var scrollPosition = 0;

				scrollable.find('.content ul li').each(
					function()
					{
						var element = $(this);
						itemWidth = element.outerWidth();

						scrollWidth += itemWidth;
					}
				);

				scrollWidth -= 560;

				if (scrollWidth < 0)
				{
					scrollWidth = 0;
				}

				scrollable.find('.nav_l').each(
					function()
					{
						var element = $(this);

						element.click(
							function()
							{
								if (!scrollable.attr('scrolling'))
								{
									scrollable.attr('scrolling', '1');

									scrollPosition += itemScrollWidth;

									if (scrollPosition > 0)
									{
										scrollPosition = 0;
									}
								
									scrollable.find('div.content').animate(
										{
											left: scrollPosition
										},
										300,
										function()
										{
											scrollable.attr('scrolling', '');
										}
									);
								}
							}
						);
					}
				);

				scrollable.find('.nav_r').each(
					function()
					{
						var element = $(this);

						element.click(
							function()
							{
								if (!scrollable.attr('scrolling'))
								{
									scrollable.attr('scrolling', '1');
									
									scrollPosition -= itemScrollWidth;

									if (scrollPosition < -scrollWidth)
									{
										scrollPosition = -scrollWidth;
									}
		
									scrollable.find('div.content').animate(
										{
											left: scrollPosition
										},
										300,
										function()
										{
											scrollable.attr('scrolling', '');
										}
									);
								}
							}
						);
					}
				);
			}
		);

		$('div.categories div.item input').each(
			function()
			{
				$(this).mouseover(
					function()
					{
						var alt = $(this).attr('alt');

						if (alt)
						{
							tooltip_show(alt, true);
						}
					}
				);

				$(this).mouseout(
					function()
					{
						$('div.tooltip').hide();
					}
				);
			}
		);

		$('div.prestaties li').each(
			function()
			{
				$(this).mouseover(
					function(event)
					{
						var longtitle = $(this).attr('longtitle');

						if (longtitle)
						{
							tooltip_show(longtitle, true);
						}
					}
				);

				$(this).mouseout(
					function()
					{
						$('div.tooltip').hide();
					}
				);
			}
		);
		
		$('div.categories div.item label').each(
			function()
			{
				$(this).mouseover(
					function()
					{
						var alt = $(this).attr('alt');

						if (alt)
						{
							tooltip_show(alt, true);
						}
					}
				);

				$(this).mouseout(
					function()
					{
						$('div.tooltip').hide();
					}
				);
			}
		);
	
		$('div#add_photoreply').show().click(
			function()
			{
				var postID = $('div#add_photoreply').attr('p');
				var sosUser = $('div#add_photoreply').attr('u');

				popup_open('Plaats foto reactie', '/d/p/photo/' + postID + '/?s=' + sosUser);
			}
		);

		$('div.tooltip').click(
			function()
			{
			}
		);

		$("h2#soskinderdorpen").click( function() { window.open("http://www.soskinderdorpen.nl/"); } );

		box_update();

		$("#header_button").click(
			function()
			{
				document.location = '/';
			}
		);

		$("#loadmore_text").html("");
		$("#loadmore_topsosr_text").html("");

		$(window).scroll(
			function()
			{
				if ($("#loadmore").css("display") == "block" && isScrolledIntoView($("#loadmore")))
				{
					if (!list_is_loading)
					{
						var page = parseInt($("#dynamic_list").attr("page"));

						if (page == 0)
							page = 1;

						page++;

						$("#dynamic_list").attr("page", page);
						list_loadmore($("#dynamic_list").attr("sort"), $("#dynamic_list").attr("dateRange"), page);
					}
				}

				if ($("#loadmore_topsosr").css("display") == "block" && isScrolledIntoView($("#loadmore_topsosr")))
				{
					list_topsosr_loadmore();
				}
			}
		);

		if ($("#dynamic_list_end").attr("id"))
		{
			$("#loadmore").hide();
			$("#loadmore_topsosr").hide();
		}
		else
		{
			$("#loadmore").show();
			$("#loadmore_topsosr").show();
		}

		$("#sort_datum").click(function() { resort("datum"); }).find("a").attr("href", "#lijst");
		$("#sort_populair").click(function() { resort_dateRangeSelect("populair"); }).find("a").attr("href", "JavaScript:void(null);");
		$("#sort_gewaardeerd").click(function() { resort_dateRangeSelect("gewaardeerd"); }).find("a").attr("href", "JavaScript:void(null);");
		$("#sort_gedeeld").click(function() { resort("gedeeld"); }).find("a").attr("href", "#lijst");
		$("li[id^='sort_cat_']").click(function() { resort($(this).attr('id')); }).find("a").attr("href", "#lijst");	

		$("#topsosr_sort_users").click(function() { topsosr_resort("users"); }).find("a").attr("href", "#lijst");
		$("#topsosr_sort_teams").click(function() { topsosr_resort("teams"); }).find("a").attr("href", "#lijst");
	}
);

function isScrolledIntoView(elem)
{
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
}

var static_ratecontainer_counter = 0;
var static_ratecontainer_values = Array();

function rate_container(rating, id, state)
{
	var isDynamic = id ? true : false;

	if (!id)
	{
		id = 'ratecontainer_' + (static_ratecontainer_counter++);
	}

	var element = $('#' + id);

	if (element.attr('id'))
	{
		if (state == 'set_state')
		{
			static_ratecontainer_values[id] = rating;

			$("#"+id+"_r").attr('value', rating);
		}
		else if (state == 'reset_state')
		{
			rating = static_ratecontainer_values[id];
		}

		$('#' + id + ' div').removeClass('active');
		$('#' + id + ' div').removeClass('dynamic_hover');		
		
		for(var r=0; r<rating; r++)
		{
			$('#' + id + ' div.item_' + r).addClass('active');

			if (state == 'hover_state' || state == 'set_state')
				$('#' + id + ' div.item_' + r).addClass('dynamic_hover');
		}
	}
	else
	{
		static_ratecontainer_values[id] = rating;

		var html = '';

		html += '<div class="ratecontainer" id="'+id+'">';

		for(var r=0; r<5; r++)
		{
			var className = r < rating ? 'active' : '';

			html += '<div class="item_'+r+' '+className+'"></div>';
		}
		
		html += '</div>';

		document.write(html);

		if (isDynamic)
		{
			for(var r=0; r<5; r++)
			{
				$('#' + id + ' div.item_' + r).addClass('dynamic');

				$('#' + id + ' div.item_' + r).attr('rating_value', r+1);

				$('#' + id + ' div.item_' + r).click(
					function()
					{
						rate_container($(this).attr('rating_value'), id, 'set_state');
					}
				);

				$('#' + id + ' div.item_' + r).mouseover(
					function()
					{
						rate_container($(this).attr('rating_value'), id, 'hover_state');
					}
				);

				$('#' + id + ' div.item_' + r).mouseout(
					function()
					{
						rate_container($(this).attr('rating_value'), id, 'reset_state');
					}
				);
			}
		}
	}
}

function team_show_invites()
{
	$('#addmembers_button').hide('slow');
	//$('#team_info').hide('slow');
	$('.addmembers_content').show('slow');
}


