/* jQuery code */
$(document).ready(

	function()
	{
		
		/* Spotlight */
		$('#spotlight .banner, #spotlight li').fadeTo(0, 0.75);
		$('#spotlight').spotlight({displayTime: 4});
		
		/* Turn submit buttons into links */
		$('input[type=submit]:not(.no-nice)').each(
			function()
			{
				var value = $(this).val();
				var tabindex = $(this).attr('tabindex');
				if (!tabindex)
				{
					tabindex = 0;
				}
				text = $('<a>').insertAfter(this).addClass('button').attr('id',this.id).attr('href','').attr('tabindex',tabindex);
				text.html(value);
				$(this).remove();
			}
		);
		$('.submit a.button').click(
			function(event)
			{
				event.preventDefault();
				$(this).closest('form').submit();
			}
		);
		
		/* Rounded corners */
		$('a.button').corner('round 5px');
		
		/* Autocomplete */
		//$("#autocomplete").autocomplete(
			//'/shops/autocomplete',
			//{
				//width: 260,
				//selectFirst: false
			//}
		//);
		//$("#autocomplete").result(
			//function(event, data, formatted)
			//{
				//if (data)
				//{
					//var tmp = data;
					//alert(tmp);
				//}
			//}
		//);
		
		/* Thumbnail cropping */
		var targetWidth = $('#targetWidth').val();
		var targetHeight = $('#targetHeight').val();
		$('#thumb-source').Jcrop(
			{
				setSelect: [0,0,targetWidth,targetHeight],
				onChange: showPreview,
				onSelect: showPreview,
				aspectRatio: targetWidth/targetHeight
			}
		);
		
		function showPreview(coords)
		{
			var rx = $('#targetWidth').val() / coords.w;
			var ry = $('#targetHeight').val() / coords.h;
			var sourceW = $('#thumb-source').width();
			var sourceH = $('#thumb-source').height();
			$('#preview img').css({
				width: Math.round(rx * sourceW) + 'px',
				height: Math.round(ry * sourceH) + 'px',
				marginLeft: '-' + Math.round(rx * coords.x) + 'px',
				marginTop: '-' + Math.round(ry * coords.y) + 'px'
			});
			$('#x').val(coords.x);
			$('#y').val(coords.y);
			$('#x2').val(coords.x2);
			$('#y2').val(coords.y2);
			$('#w').val(coords.w);
			$('#h').val(coords.h);
		};
		
		/* Polls */
		$('.poll-answer').click(
			function(event)
			{
				event.preventDefault();
				$.get(
					'/polls_answers/ajaxVote/'+$(this).attr('rel'),
					function(data)
					{
						$('#poll-answers-ul').html(data);
						$('#poll-answers-ul .bar').each(
							function()
							{
								$(this).animate(
									{
										width: $(this).attr('rel')
									},
									500
								);
							}
						);
					}
				);
			}
		);
		$('#poll-answers-ul .bar').each(
			function()
			{
				$(this).animate(
					{
						width: $(this).attr('rel')
					},
					500
				);
			}
		);
		$('#answer-add').click(
			function(event)
			{
				event.preventDefault();
				$.get(
					'/polls_answers/ajaxAdd/'+$('#PollId').attr('value'),
					function(data)
					{
				 		$('#poll-answers').append(data);
						bindAnswerDelete();
					}
				);
			}
		);
		function bindAnswerDelete()
		{
			$('.answer-del').click(
				function(event)
				{
					event.preventDefault();
					var id = $(this).attr('rel');
					$.get(
						'/polls_answers/ajaxDelete/'+id,
						function(data)
						{
							if (data)
							{
								$('#answer-'+id).remove();
							}
						}
					)
				}
			);
		}
		bindAnswerDelete();
		
		/* Messages */
		function checkMessages()
		{
			var flash = $('#flashMessage');
			var message = flash.html();
			if (message !== null)
			{
				if (flash.hasClass('error'))
				{
					$('#notify').addClass('error');
				}
				$.notifyBar(
					{
						html: message,
						delay: 2000,
						animationSpeed: "normal",
						jqObject: $("#notify")
					}
				);
			}
		}
		
		/* Auto focus */
		$('.auto-focus').focus().addClass('focused');
		
		/* Required labels */
		$('.required label').append('<span class="required">*</span>');
		
		/* Date pickers */
		$('.datepicker').datepicker(
			{
				dayNamesMin: ['Zo', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za'],
				monthNames: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'],
				monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
				prevText: 'Vorige maand',
				nextText: 'Volgende maand',
				dateFormat: 'dd-mm-yy',
				firstDay: 1,
				showOn: 'both',
				buttonImage: '/img/icons/calendar-select.png',
				buttonImageOnly: true,
				maxDate: '+5y',
				minDate: '-1m'
			}
		);
		
		/* Ajax thumbs */
		$('span.thumbs').show();
		$('a.ajax-thumb').click(
			function (event)
			{
				event.preventDefault();
				var href = $(this).attr('href');
				var rel = $(this).attr('rel');
				$('#'+rel+'-score').fadeOut().load(
					href,
					{},
					function ()
					{
						$(this).fadeIn();
					}
				);
			}
		);
		
		/* Refresh CAPTCHA image */
		$('#captcha-refresh').click(
			function (event)
			{
				event.preventDefault();
				$('#captcha-image').attr('src','/comments/securimage/'+new Date().getTime());
			}
		);
		
		/* Limiting textareas */
		$('#UpdateBody').keydown(
			function()
			{
				updateLength();
			}
		);
		$('#UpdateBody').keyup(
			function()
			{
				updateLength();
			}
		);
		
		function updateLength()
		{
			var textarea = $('#UpdateBody');
			var value = textarea.attr('value');
			var maxlength = textarea.attr('rel');
			if (value.length > maxlength)
			{
				$('#UpdateBody').attr('value', value.substring(0,maxlength));
			}
			else
			{
				if (value.length == maxlength)
				{
					$('#countdown').addClass('maxed');
				}
				else
				{
					$('#countdown').removeClass('maxed');
				}
			}
			$('#limitCount').html(value.length);
		}
		
		/* Autorun stuff */
		checkMessages();
	
	}
);
