﻿var GUI = function() {
	langCode = "uk";

	function initGUI() {
		langCode = $('html').attr('lang');
		
		ApplaySpotBoxStructure();
		MiscGUIFixes(false);

		if ($.browser.msie6) {
			DD_belatedPNG.fix('.spotBox .bw');
			DD_belatedPNG.fix('.spotBox .bw2');
			pngfix();
		}
	}

	function MiscGUIFixes(partialupdate) {
		if ($.browser.msie6) $(((partialupdate) ? '.partialUpdate ' : '') + "input[@type='text']").addClass('ietextfield');
		if ($.browser.msie6) $(((partialupdate) ? '.partialUpdate ' : '') + "textarea").addClass('ietextarea');
		
		$('.gbtn,.gbtndrkbg').each( function() {
			$(this).wrapInner( '<span></span>' );
		});
		
		$('.pageNavigator').each( function() {
			/* remove pipes */
			$(this).contents().each( function() { if ( this.nodeType == 3 ) this.parentNode.removeChild(this); });
			
			/* reformat the textcontent of the active link */
			$('a', this).each( function() {
				var item = $(this);
				var itemText = item.text();
				var activeFilter = /\((\d)\)/i;
				if ( activeFilter.test( itemText ) ) {
					item.text( itemText.replace( activeFilter, "$1" ));
				}
			});
			
			/* duplicate to top */
			var pager = $(this);
			pager.parent().prepend(pager.clone());
		});
		
		if (langCode == 'nl' || langCode == 'be') {
			$('#preOrder a').hide();
		}		
	}

	function AddPipesToList(rootElement) {
		var list = $(rootElement);
		if (list) {
			$('li', list).each(function(index, item) {
				if (!$(item).is(':nth-child(1)')) {
					$(item).before('<li class="sep">|</li>');
				}
			});
		}
	}

	function ApplaySpotBoxStructure() {
		$('.spotBoxBasic:not(.nogui)').each(function() {
			var item = $(this);
			if ( !item.hasClass('spotBox') ) {
				item.removeClass('spotBoxBasic');
				item.addClass('spotBox');
			}
			
			var headers = $('>.header', item);
			item.wrapInner( $('<div>').addClass('bw') );

			var top = $('<div>').addClass('bt').append('<div>');
			var bottom = $('<div>').addClass('bb').append('<div>');
			
			if ( !item.is('.plain') ) { top.prepend( headers ); top.addClass('top'); }
			
			item.prepend(top);
			item.append(bottom);
		});
	}

	return {
		init: initGUI
	}
} ();

var CallbackHandler = function() {
	var scripts = [];
	var num = 0;
	
	function startup() {
		for( var i = 0; i < num; i++ )
			scripts[ i ]();
	}
	
	function addScript( func ) {
		scripts[ num++ ] = func;
	}
	
	return {
		startup : startup,
		addScript : addScript
	}
}();

$( document ).ready( function() {
	GUI.init();
	//CallbackHandler.startup();
});