	var WidgetMap;

	$(document).ready(function() 
	{

		$('.widget-engagement-text').delegate('.close', 'click', function()
		{
			setCookie('now_engagement_hide', '1', 100);
			widget = $(this).parents('.widget');
			widget.hide();
		});
		
		$('.shoutbox-iframe #shoutbox-submit').live('click', function()
		{
			extraInput = $('.shoutbox-iframe #upload-file .extra-inputs');
			
			metadataTitle = $('.shoutbox-iframe #metadata-title').val();
			metadataDescription = $('.shoutbox-iframe #metadata-description').val();
			metadataDestinations = $('.shoutbox-iframe #metadata-destinations:checked').val();
			
			var input = $('<input>').attr('type', 'hidden').attr('name', 'title').val(metadataTitle);
			extraInput.append(input);
			
			input = $('<input>').attr('type', 'hidden').attr('name', 'description').val(metadataDescription);
			extraInput.append(input);

			if (metadataDestinations == 'all' || metadataDestinations == "on" )
			{
				input = $('<input>').attr('type', 'hidden').attr('name', 'destinations').val('all');
				extraInput.append(input);
			}
			
			form = $('.shoutbox-iframe #upload-file');
			form.submit();
			
			return false;
		});

		$('.widget-form .ajax-button').live('click', function()
		{
			hasFileInputs = $('.widget-form input[type="file"]').length > 0;
			
			//If no file input elements, do normal Ajax submit
			if(!hasFileInputs)
			{
				dataArray = {
					'widget-id': $('.widget-form').attr('data-widget-id'),
					'widget-action': 'AddData'
				}
				
				form = $(this).parents('form');
				widget = $(this).parents('.widget-form');
				
				dataString = $.param(dataArray) + '&' + form.serialize();
				
				$('p.error').remove();
				$('.error').removeClass('error');
				
				$.ajax({
					url: '/ajax',
					type: 'POST',
					dataType: 'json',
					data: dataString,
					success : function(data)
					{
						if (data.status == 'ok')
						{
							form.hide();
							widget.find('.success').html(data.message).show();
						}
						else
						{
							if(data.errors)
							{
								$.each(data.errors, function(index, value) {
					            	$('#field-' + index).addClass('error');
					            	
					            	$('#field-' + index).parent().append('<p class="error">' + value + '</p>');
					            });
							}
						}
					}
				});
			}
			// If there are file input elemnts, do traditional form submit
			else {
				$(this).append('<input type="hidden" name="widget-id" value="' + $('.widget-form').attr('data-widget-id') + '">');
				$(this).append('<input type="hidden" name="widget-action" value="AddData">');
				$(this).append('<input type="hidden" name="widget-referrer-url" value="' + document.location.toString() + '">');
				
				//set correct encoding and submit form
				$(this).parents('form')
					.attr('enctype', 'multipart/form-data')
					.attr('encoding', 'multipart/form-data')
					.submit();
			}
		});
		
		
		
	});
