$(document).ready(function(){
	$(document.body).addClass('js-enabled');
	
	enhanceSearchBoxQuery();
	
	markFirstContentParagraph();

	//Button.replace();
});

var SEARCH_BOX_INIT_VALUE = $("#init_zoekterm").val();
//alert($('#init_zoekterm').val());

function markFirstContentParagraph()
{
	$('H1 + #content P:first-child, .mark-paragraph H1 + P').addClass('first-paragraph');
}

function enhanceSearchBoxQuery()
{
	var searchBoxQuery = $('#search-box-query');
	var SEARCH_BOX_INIT_VALUE = $("#init_zoekterm").val();
	function checkEmpty()
	{
		if ( searchBoxQuery.val() == '' )
		{
			searchBoxQuery.val(SEARCH_BOX_INIT_VALUE);
			searchBoxQuery.addClass('has-init-value');
		}
	}
	function checkInitValue()
	{
		if ( searchBoxQuery.val() == SEARCH_BOX_INIT_VALUE )
		{
			searchBoxQuery.val('');
			searchBoxQuery.removeClass('has-init-value');
		}
	}
	searchBoxQuery.focus(checkInitValue).blur(checkEmpty);
	checkEmpty();
}

var REPLACEMENT_BUTTON_EXTRA_WIDTH = 40;

var SKIP_FIXED_WIDTH_FOR_BUTTONS_WITH_ID = ['search-box-submit', 'search-submit'];

var Button = {
	replace: function()
	{
		$('input[type=\'button\'], input[type=\'submit\'], .to-be-replaced').each(function(){
			var replace = $(this);
			
			var isInput = this.tagName == 'INPUT';
			var isAnchor = this.tagName == 'A';
			
			if ( isAnchor )
			{
				var isNewWindow = this.target == '_blank';
			}
			
			var text = isInput ? replace.val() : replace.text();
			var id = replace.attr('id');
			
			var button = $(document.createElement('div'));
			button.addClass('button-replacement');
			
			if ( id )
			{
				button.attr('id', id + '-replacement');
			}
			
			var outer = $(document.createElement('span'));
			outer.addClass('outer');
			
			var inner = $(document.createElement('span'));
			inner.addClass('inner');
			
			var textSpan = $(document.createElement('span'));
			textSpan.addClass('text');
			
			textSpan.text(text);
			inner.append(textSpan);
			outer.append(inner);
			button.append(outer);
			
			replace.before(button);
			replace.addClass('button-replaced');
			
			var applyFixedWidth = true;
			for ( var i = 0; i < SKIP_FIXED_WIDTH_FOR_BUTTONS_WITH_ID.length; i++ )
			{
				if ( id == SKIP_FIXED_WIDTH_FOR_BUTTONS_WITH_ID[i] )
				{
					applyFixedWidth = false;
					break;
				}
			}
			if ( applyFixedWidth )
			{
				button.width(textSpan.width() + REPLACEMENT_BUTTON_EXTRA_WIDTH);
			}
			
			var clickEvent = function()
			{
				if ( isInput )
				{
					replace.click();
				}
				else if ( isAnchor )
				{
					var href = replace.attr('href');
					if ( isNewWindow )
					{
						window.open(href);
					}
					else
					{
						location = href;
					}
				}
				else
				{
					$('a', replace).click();
				}
			};
			
			button.click(clickEvent);
		});
	}
};

