/**
 * 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);
	},

	polec_znajomemu : function(){
		var dane = {
			 'rodzaj_akcji'		: 'polec-znajomemu'
			,'email_odbiorcy'	: document.getElementById('email_odbiorcy').value
			,'imie_nazwisko'	: document.getElementById('imie_nazwisko').value
			,'email_nadawcy'	: document.getElementById('email_nadawcy').value
			,'tresc'			: document.getElementById('tresc').value
		}
		
		$.post("page,polec.html", dane, function(data) {

			// Hack na serwer alisma.pl doklejający skrypt :]

			// Dane testowe
			
			/*
			data += "<script type=\"text/javascript\"><!--\
			document.writeln('<'+'scr'+'ipt type=\"text/javascript\" src=\"http://home.hit.stat.pl/_'+(new Date()).getTime\
			()+'/script.js?id=zZBKgS_azyA6HLVF_33wNeVFHSEFr8bZQUl4PPtXGG7.I7\"></'+'scr'+'ipt>');\
			//--></script>";
			//*/

			// RegExp nie działa?!
			// data = data.replace(new RegExp('<script(.*)*', ''), '');

			//alert(data);
			data = data.substr(0, data.indexOf('<script type'));
			//alert(data);
			data = eval('(' + data + ')');
		
			$('#polecenie span').not('.button').html('').css('display','none');
			
			if(!data.ok){
				for(x in data.bledy){
					//alert( x + ': ' + data.bledy[x] );
					$('#'+x+'_error').css('display','block').text(data.bledy[x]);
				}
			}else{
				document.getElementById('polec-naglowek').innerHTML = 'Wiadomość wysłana pomyślnie';
				document.getElementById('polecenie').innerHTML = '<p style="text-align:left;padding-left:12px;">Dziękujemy za polecenie naszej strony</p>';
			}
			
		});
		return false;
	},

	/* nadanie linkom zewnetrznym atrybutu target="_blank" */
	external_links : function(){
		$("a[rel='external']").each( function(i){
			this.target = "_blank";
		});
	}
};

try { document.execCommand('BackgroundImageCache', false, true); } catch (e) {}

