/**
 * Zestaw parametrów i metod konfiguracyjnych
 */
var _config = {
	/* adres bazowy strony - wartość ustawiana w init */
	base_url :null,

	/* kontroler i akcja (wypełniane w head) */
	controller :null,
	action :null,
	
	user_logged :null,
	lang :null,

	/* operacje wykonywane po załadowaniu dokumentu */
	init_common : function(){
		// bazowy URL strony
		this.base_url = location.href.match(/^(https?:\/\/[^\/]*\/)/)[1];
	
		// konfiguracja AJAX-a
		$.ajaxSetup({
			cache :false
		});
	
		this.init();
	},
	
	/**
	 * Ta metoda jest wywoływana zawsze po init_common. Metodę nadpisujemy w
	 * rozszerzeniach poprzez: jQuery.extend( _config, { init: { <tutaj kod> } } );
	 */
	init : function(){
	}
};

/**
 * Główny zestaw metod
 */
var _main = {
	_this :null,

	/* operacje wykonywane po załadowaniu dokumentu */
	init_common : function(){
		/* nadanie linkom zewnetrznym atrybutu target="_blank" */
		this.external_links();

		this.init();

		/* inicjalizacja kodu dla kontrolera i akcji */
		var controller = _config.controller.charAt(0).toUpperCase() +
						 _config.controller.substr(1).replace(/-[a-z]/ig, function(s){ return s.substr(1, 1).toUpperCase(); });
		if (typeof (window[controller]) == "object") {
			this._this = window[controller];
			var action = _config.action.replace(/-[a-z]/ig, function(s){ return s.substr(1, 1).toUpperCase(); }) + "Action";
			if (typeof (window[controller]["init"]) == "function") { window[controller]["init"](); }
			if (typeof (window[controller][action]) == "function") { window[controller][action](); }
		}
	},

	/**
	 * Ta metoda jest wywoływana zawsze po init_common (ale przed wywołaniem
	 * akcji kontrolera). Metodę nadpisujemy w rozszerzeniach poprzez:
	 * jQuery.extend( _main, { init: { <tutaj kod> } } );
	 */
	init : function(){
		$('a.inactive, a.empty').bind('click',function(){ return false; });
		$('#search_frase').hint();
	},

	// przewija stronę na samą górę (bez użycia "#")
	scrollToTop : function(){
		$(document).scrollTop(0);
	},

	/* nadanie linkom zewnetrznym atrybutu target="_blank" */
	external_links : function(){
		$("a[rel='external']").each( function(i){
			this.target = "_blank";
		});
	}
};

$(document).ready( function(){
	_config.init_common();
	_main.init_common();
});

try { document.execCommand('BackgroundImageCache', false, true); } catch (e) {}
