Core = $.extend(Core, {

	controller: '',
	action: '',
	webHost: '',
	webView: '',
	webImg: '',
	dateTime: '',
	lang: 'pl',
	langId: 1,

	init : function() {

		// Osadzenie playera MP3. Muzyka jest domyślnie wyłączona na przeglądarkach mobilnych.
		if (typeof(MusicOptions) !== 'undefined' && document.getElementById('music')) {
			swfobject.embedSWF(Core.webView + 'flash/player_mp3.swf', "music", 31, 28, '9.0.0', 'expressInstall.swf',
				{plik: "upload/kler_"+(Core.lang=="cz" ? 'cz' : 'pl') +".mp3",stan: $.browser.mobile ? 0 : MusicOptions.default_on, loop: MusicOptions.loop_on},
				{menu: false, scale: 'scale', salign: 'lt', wmode: 'transparent'}, { }
			);
		}

		// Fancybox.
		$('a.fancybox').fancybox({
			'titlePosition'	: 'inside'
		});

		// Opisy pól tekstowych.
		var form = $('#top .search form');
		Core.inputDescription(form, form.find('.text'), _('Znajdź produkt'));

		// Newsletter.
		Core.newsletter('dlgNewsletter', '#btnOpenNewsletter');

		// Style pola "select".
		try {
			$('select.dropdown').msDropDown();
		}
		catch(e) {
		}

		// Zmiana języka.
		var changeLang = $('#changeLang');

		changeLang.click(function(){
			changeLang.find('ul').show();
			return false;
		});

		$('#changeLang a').bind('click', function() {
			window.location = $(this).attr('href');
		});

		$('body').click(function(event){
			changeLang.find('ul').hide();
		});
		
		// Popup z ankietą.
		if(Core.lang=="cz" && $.cookie('_QUIZ') != 'completed' && Core.controller != 'quiz') {
			var url = Core.webHost + 'quiz_ajax,popup,lang,' + Core.langId + '.html';
			$.get(url, function(content){
				if(content) {
					$('body').append('<div class="quiz-popup"></div>');
					$('.quiz-popup').fancybox({
						padding: 0,
						margin: 0,
						autoDimensions: false,
						width: 750,
						height: 305,
						titleShow: false,
						content: content,
						overlayOpacity: 0,
						showCloseButton: false,
						onComplete: function() {
							$('#fancybox-content').css('overflow', 'visible');
							$('#fancybox-content > div').css('overflow', 'visible');
							$('.quiz-popup-close').click(function(){
								$.fancybox.close();
								return false;
							});
						}
					});
					setTimeout(function() {$('.quiz-popup').click();},1250);
				}
			});
			
			
		}
	},

	opacity: function(target, value) {
		if ( value == '0' || value == 'none' ) {
			value = 'none';
		} else {
			value = 'block';
		}

		target.css({display: value});
		target.children().each(function(){
			var kid = $(this);
			if ( kid.children().size() > 0 ) {
				Core.opacity( kid, value);
			} else {
				kid.css({display: value});
			}
		});
	},

	dialog: function(dialogName, buttonOpenName) {

		var dialog = $('#' + dialogName),
			form = dialog.find('form'),
			messages = dialog.find('.messageList'),
			inputs = dialog.find('input.text, textarea');

		dialog.submit(function(){

			// Komunikat lub animacja ładowania.
			messages.html('<p>' + _('Proszę czekać...') + '</p>');
			messages.show();

			// Przeskaluj okno.
			$.fancybox.resize();

			// Wyślij żądanie.
			$.post(form.attr('action'), form.serialize() + '?lang=' + Core.langId, function(data){

				if ('OK' === data.status) {
					inputs.not('input[type="checkbox"]').val('');
					inputs.removeAttr('checked');
				}
				else if ('ERROR' === data.status) {
					$.each(data.fields, function(k, v){
						dialog.find('[id*=' + k + ']').addClass('error');
					});
				}

				var html = '';

				for (var i in data.messages) {
					html += '<p class="' + data.status + '">' + data.messages[i] + '</p>';
				}

				messages.html(html);

				// Przeskaluj okno.
				$.fancybox.resize();

			}, 'json');

			return false;
		});

		inputs.blur(function(){
			$(this).removeClass('error');
		});

		$(buttonOpenName).fancybox({
			href: '#' + dialogName,
			titleShow: false,
			margin: 0,
			padding: 0,

			onStart: function() {

				// Usuń poprzednio wpisane wartości.
				inputs.not('input[type="checkbox"]').val('');
				inputs.removeAttr('checked');

				// Usuń poprzednie komunikaty.
				messages.html('');
				messages.hide();
			}
		});

		form.find('.btnClose').click(function(){
			$.fancybox.close();

			return false;
		});
	},

	newsletter: function(dialogName, buttonOpenName) {
		var dialog = $('#' + dialogName),
			form = dialog.find('form'),
			messages = dialog.find('.messageList'),
			inputs = dialog.find('input.text, textarea');

		function formSubmit() {
			var dialog = $('#' + dialogName),
				messages = dialog.find('.messageList');

			// Komunikat lub animacja ładowania.
			messages.html('<p>' + _('Proszę czekać...') + '</p>');
			messages.show();

			// Przeskaluj okno.
			$.fancybox.resize();

			// Wyślij żądanie.
			var data = {
				mail: $('#newsletter_email').val(),
				group: 2,
				userid: 49,
				action: 'add'
			};
			
			// Dla języka czeskiego zmiana grupy
			if(Core.lang == 'cz') {
				data.group = 4;
				data.userid = 211;
			}
			
			if (Core.lang == 'pl' && $('#newsletter_agreement').is(':checked') === false) {
				messages.html('<p class="ERROR">' + _('Musisz wyrazić zgodę na przetwarzanie danych.')+ '</p>');
			}
			else {
				$.getJSON('http://www.mailpro.pl/mailpro/mailproAdd.php?jsoncallback=?', data, function(data) {

					switch (parseInt(data.errorCode)) {
						case 3:
							messages.html('<p class="ERROR">' + _('Wpisz prawidłowy adres e-mail.')+ '</p>');
							break;

						case 100:
							messages.html('<p class="OK">' + _('Twój adres e-mail został dodany do naszej bazy. Dziękujemy!') + '</p>');
							break;

						case 101:
							messages.html('<p class="OK">' + _('Twój adres e-mail już istnieje w naszej bazie i czeka na potwierdzenie.') + '</p>');
							break;

						case 102:
							messages.html('<p class="ERROR">' + _('Twój adres e-mail już istnieje w naszej bazie.')+ '</p>');
							break;

						default:
					}
				});
			}

			return false;
		}

		function btnSignoutClick() {
			var dialog = $('#' + dialogName),
				messages = dialog.find('.messageList');

			// Komunikat lub animacja ładowania.
			messages.html('<p>' + _('Proszę czekać...') + '</p>');
			messages.show();

			// Przeskaluj okno.
			$.fancybox.resize();

			// Wyślij żądanie.
			var data = {
				mail: $('#newsletter_email').val(),
				group: 2,
				userid: 49,
				action: 'del'
			};

			// Dla języka czeskiego zmiana grupy
			if(Core.lang == 'cz') {
				data.group = 4;
			}

			$.getJSON('http://www.mailpro.pl/mailpro/mailproAdd.php?jsoncallback=?', data, function(data) {

				switch (parseInt(data.errorCode)) {
					case 3:
						messages.html('<p class="ERROR">' + _('Wpisz prawidłowy adres e-mail.')+ '</p>');
						break;

					case 201:
						messages.html('<p class="ERROR">' + _('Twojego adresu e-mail nie ma w naszej bazie.')+ '</p>');
						break;

					case 204:
						messages.html('<p class="OK">' + _('Twój adres e-mail został usunięty z naszej bazy.') + '</p>');
						break;

					default:
				}
			});
			return false;
		}

		$(buttonOpenName).fancybox({
			href: Core.webHost + 'newsletters_ajax,index,lang,' + Core.langId + '.html',
			titleShow: false,
			margin: 0,
			padding: 0,
			type: 'ajax',

			onStart: function() {

				// Usuń poprzednio wpisane wartości.
				inputs.not('input[type="checkbox"]').val('');
				inputs.removeAttr('checked');

				// Usuń poprzednie komunikaty.
				messages.html('');
				messages.hide();
			},

			onComplete: function() {
				$('#btnSignout').click(btnSignoutClick);
				$('#' + dialogName + ' form').submit(formSubmit);
			}
		});

		form.find('.btnClose').click(function(){
			$.fancybox.close();

			return false;
		});
	}

});

