window.Orion = function() {

	this.Callbacks = {
		'login' : function(e) {
			e.preventDefault();
			$('#' + $(this).attr('default-submit')).submit();
			return false;
		},
		'register' : function(e) {
			e.preventDefault();
			$(this).parent().prev().submit();
			return false;
		},
		'register_step2' : function(e) {
			e.preventDefault();
			$('#trueSubmitValue').attr('name', 'submit[register]');
			$('#register').attr( { 'action': 'rejestracja,krok2,zapisz_dane_dodatkowe.html'});
			statistics.trackPageview('/rejestracja,zapisz_dane_dodatkowe.html');
			$(this).parent().prev().submit();
			return false;
		},
		'register_step2_skip' : function(e) {
			e.preventDefault();
			$('#trueSubmitValue').attr('name', ('submit[skip]'));
			$('#register').attr( { 'action': 'rejestracja,krok2,pomin_dane_dodatkowe.html'});
			statistics.trackPageview('/rejestracja,pomin_dane_dodatkowe.html');
			$(this).parent().prev().submit();
			return false;
		},
		'profil_save' : function(e) {
			e.preventDefault();
			$('#trueSubmitValue').attr('name', 'saveediteddata');
			$(this).parent().submit();
			return false;
		},
		'profil_del' : function(e) {
			e.preventDefault();
			if (confirm('Czy na pewno chcesz usunÄÄ swĂłj profil w serwisie âTwoja Era onlineâ?')) {
				$('#trueSubmitValue').attr('name', ('delprofile'));
				$(this).parent().submit();
			}

			return false;
		},
		'restore' : function(e) {
			e.preventDefault();
			$(this).parents('form').submit();
			return false;
		},
		'setpass': function(e) {
			e.preventDefault();
			$(this).parents('form').submit();
			return false;
		},
		
		'newsletter' : function(e) {
			$url 		    = $(this).parent('#'+$(this).attr('default-submit')).attr('action');
			$email 	        = $('#newsletter_email');
			$agree		    = $('#newsletter_agree')
			$home      	= $('#newsletter_singin [name=newsletter_home]:checked');
			$business       = $('#newsletter_singin [name=newsletter_business]:checked');
			$is_agree       = $('#newsletter_agree:checked').length;
			$info_ok        = $('#newsletter_info_ok');
			$info_error     = $('#newsletter_info_error');
			$agree_error    = $('#newsletter_agree_error');
			$email_error    = $('#newsletter_email_error');
			$business_error = $('#newsletter_business_error');
			$info		    = $('.newsletter_info');

			if($business.val() != 1 && $home.val() != 1 )
			{
				$business_error.parent('div').addClass('of-err');
				$info.fadeOut();
				$business_error.fadeIn();
				return false;
			}

			if($email.val() == '')
			{
				$email_error.parent('div').addClass('of-err');
				$info.fadeOut();
				$email_error.fadeIn();
				return false;
			}
			
			if(!$is_agree)
			{
				$agree.parent().parent('div').addClass('of-err');
				$info.fadeOut();
				$agree_error.fadeIn();
				
				return false;
			}
			
			$info.fadeOut();
			$email.parent('div').removeClass('of-err');
			$agree.parent().parent('div').removeClass('of-err');
			
			$.post($url, { 'email': $email.val(), 'business': $business.val(), 'home': $home.val()  },
					 function(data){
					   if(data.valid == 'false')
					   {
						   $info.fadeOut();
						   $info_error.fadeIn();
					   }
					   else if(data.valid == 'true')
					   {
						   $business.attr('checked', false);
						   $home.attr('checked', false);
						   $agree.attr('checked', false);
						   $email.val('');
						   $info.fadeOut();
						   $val = $info_ok.html();
						   $info_ok.html($val.replace('[email]', data.email));
						   $info_ok.fadeIn();
                                                   _gaq.push(['_trackEvent', 'Newsletter', 'Zapisanie', 'Box newsletter']);
					   }
					 }, "json");
			return false;
		},
                'newsletter-article' : function(e) {
			$url 		    = $(this).parent('#'+$(this).attr('default-submit')).attr('action');
			$email 	        = $('#newsletter_article_email');
			$agree		    = $('#newsletter_article_agree')
			$home      	= $('#newsletter_article_singin [name=newsletter_home]:checked');
			$business       = $('#newsletter_article_singin [name=newsletter_business]:checked');
			$is_agree       = $('#newsletter_article_agree:checked').length;
			$info_ok        = $('#newsletter_article_info_ok');
			$info_error     = $('#newsletter_article_info_error');
			$agree_error    = $('#newsletter_article_agree_error');
			$email_error    = $('#newsletter_article_email_error');
			$business_error = $('#newsletter_article_business_error');
			$info		    = $('#newsletter_article_singin .newsletter_info');

			if($business.val() != 1 && $home.val() != 1 )
			{
				$business_error.parent('div').addClass('of-err');
				$info.fadeOut();
				$business_error.fadeIn();
				return false;
			}

			if($email.val() == '')
			{
				$email_error.parent('div').addClass('of-err');
				$info.fadeOut();
				$email_error.fadeIn();
				return false;
			}
			
			if(!$is_agree)
			{
				$agree.parent().parent('div').addClass('of-err');
				$info.fadeOut();
				$agree_error.fadeIn();
				
				return false;
			}
			
			$info.fadeOut();
			$email.parent('div').removeClass('of-err');
			$agree.parent().parent('div').removeClass('of-err');
			
			$.post($url, { 'email': $email.val(), 'business': $business.val(), 'home': $home.val()  },
					 function(data){
					   if(data.valid == 'false')
					   {
						   $info.fadeOut();
						   $info_error.fadeIn();
					   }
					   else if(data.valid == 'true')
					   {
						   $business.attr('checked', false);
						   $home.attr('checked', false);
						   $agree.attr('checked', false);
						   $email.val('');
						   $info.fadeOut();
						   $val = $info_ok.html();
						   $info_ok.html($val.replace('[email]', data.email));
						   $info_ok.fadeIn();
                                                   _gaq.push(['_trackEvent', 'Newsletter', 'Zapisanie', 'Bloczek w artykule']);
					   }
					 }, "json");
			return false;
		},
                'newsletter-promo' : function(e) {
                        parent_id    = $(this).parent().parent().parent('.newsletter-promo-content').attr('id');

			$url 		= $(this).parent('#'+$(this).attr('default-submit')).attr('action');
			$email 	        = $('#'+parent_id+' [name=email]');
			$agree		= $('#'+parent_id+' .newsletter_promo_article_agree')
			$home      	= $('#'+parent_id+' [name=newsletter_promo_home]:checked');
			$business       = $('#'+parent_id+' [name=newsletter_promo_business]:checked');
			$is_agree       = $('#'+parent_id+' [name=agree]:checked');
			$info_ok        = $('#'+parent_id+' .newsletter_promo_article_info_ok');
			$info_error     = $('#'+parent_id+' .newsletter_promo_article_info_error');
			$agree_error    = $('#'+parent_id+' .newsletter_promo_article_agree_error');
			$email_error    = $('#'+parent_id+' .newsletter_promo_article_email_error');
			$business_error = $('#'+parent_id+' .newsletter_promo_article_business_error');
			$info		= $('#'+parent_id+' .newsletter_info');
                        $promo          = $('#'+parent_id+' .promo_no');

			if($business.val() != 1 && $home.val() != 1 )
			{
				$business_error.parent('div').addClass('of-err');
				$info.fadeOut();
				$business_error.fadeIn();
				return false;
			}

			if($email.val() == '')
			{
				$email_error.parent('div').addClass('of-err');
				$info.fadeOut();
				$email_error.fadeIn();
				return false;
			}

			if($is_agree.val() != 1)
			{
				$agree.parent().parent('div').addClass('of-err');
				$info.fadeOut();
				$agree_error.fadeIn();
				
				return false;
			}
			
			$info.fadeOut();
			$email.parent('div').removeClass('of-err');
			$agree.parent().parent('div').removeClass('of-err');
                        
			$.post($url, {'email': $email.val(), 'business': $business.val(), 'home': $home.val(), promo: $promo.val()},
					 function(data){
					   if(data.valid == 'false')
					   {
						   $info.fadeOut();
						   $info_error.fadeIn();
					   }
					   else if(data.valid == 'true')
					   {
						   $business.attr('checked', false);
						   $home.attr('checked', false);
						   $agree.attr('checked', false);
						   $email.val('');
						   $info.hide();
                                                   $val = $info_ok.html();
                                                   
//                                                   if(parent_id == 'newsletter-promo-overlay'){
                                                        alert($val.replace('[email]', data.email));  
                                                        $.fn.colorbox.close();
//                                                   }
//                                                   else{                                                       
//                                                       $info_ok.html($val.replace('[email]', data.email));
//                                                       $info_ok.fadeIn();
//                                                   }
                                                    if(parent_id == 'newsletter-promo-overlay'){
                                                        _gaq.push(['_trackEvent', 'Lumia710', 'Zapis', 'Popup']);
                                                    }
                                                    else{
                                                        _gaq.push(['_trackEvent', 'Lumia710', 'Zapis', 'Z serwisu'], ['_trackEvent', 'Lumia710', 'Zapis z serwisu', location.pathname]);   
                                                    }  
					   }
					 }, "json");
			return false;
		},
		
		'newsletter_signout' : function(e) {
			$box_in  = $('#newsletter_singin');
			$box_out = $('#newsletter_singout');
			$info_in   = $('.newsletter_info');
			$info_out  = $('.newsletter_out_info');
			$agree	   = $('#newsletter_agree')
			$email_in  = $('#newsletter_email');
			$email_out = $('#newsletter_out_email');
			$email_in.parent('div').removeClass('of-err');
			$email_out.parent('div').removeClass('of-err');
			$agree.parent().parent('div').removeClass('of-err');
			$agree.attr('checked', false);
			$info_in.fadeOut();
			$info_out.fadeOut();
			$email_in.val('');
			$email_out.val('');
			$box_in.fadeOut('medium', function() { $box_out.fadeIn(); });
			return false;
		},
		
		'newsletter_signin' : function(e) {
			$box_in  = $('#newsletter_singin');
			$box_out = $('#newsletter_singout');
			$info_in   = $('.newsletter_info');
			$info_out  = $('.newsletter_out_info');
			$agree     = $('#newsletter_agree')
			$email_in  = $('#newsletter_email');
			$email_out = $('#newsletter_out_email');
			$email_in.parent('div').removeClass('of-err');
			$email_out.parent('div').removeClass('of-err');
			$agree.parent().parent('div').removeClass('of-err');
			$agree.attr('checked', false);
			$info_in.fadeOut();
			$info_out.fadeOut();
			$email_in.val('');
			$email_out.val('');
			$box_out.fadeOut('medium', function() { $box_in.fadeIn(); });
			return false;
		},
		
		'newsletter_off' : function(e) {
			$url 		 = $(this).parent('#'+$(this).attr('default-submit')).attr('action');
			$email 	     = $('#newsletter_out_email');
			$info_ok     = $('#newsletter_out_info_ok');
			$info_error  = $('#newsletter_out_info_error');
			$email_error = $('#newsletter_out_email_error');
			$info		 = $('.newsletter_out_info');
			
			if($email.val() == '')
			{
				$email.parent('div').addClass('of-err');
				$info.fadeOut();
				$email_error.fadeIn();
				return false;
			}
			
			$email.parent('div').removeClass('of-err');
			
			$.post($url, { 'email': $email.val(), 'unsubscribe' : true },
					 function(data){
					   if(data.valid == 'false')
					   {
						   $info.fadeOut();
						   $info_error.fadeIn();
					   }
					   else if(data.valid == 'true')
					   {
						   $email.val('');
						   $info.fadeOut();
						   $val = $info_ok.html();
						   $info_ok.html($val.replace('[email]', data.email));
						   $info_ok.fadeIn();
					   }
					 }, "json");
			return false;
		},
		
		
		/** CALLBACK NA FORMULARZU DODAWANIA KOMENTARZA **/
		'comment': function(e) {
			e.preventDefault();
			
			var $form = $('#comment');
			var $btn = $(e.target);
			
			if($btn.data('sending'))
				return false;
			
			if(!$btn.data('orginal-val'))
				$btn.data('orginal-val', $btn.text());
			
			$btn.text('WysyĹanie...').data('sending', true).toggleClass('button-magenta-bg-gray button-bg-gray');
			
			$.post($form.attr('action'), $form.serialize(), function (r) {
				
				$('.of-err-desc', $form).text('');
				$('.of-form-ajax-error', $form).hide();
				$('.of-err',$form).removeClass('of-err');
				$('.comment-textarea .of-err-desc', $form).text('').addClass('hide');
				
				$("#comment #kod-input").attr("value", "");
				$("#comment .comment-captcha img").attr("src", r.captcha_img_url);
				$("#comment #kod-id").attr("value", r.captcha_value);
				
				
				if(r.error !== undefined) {
					$('.of-err-list', $form).slideDown();
					
					_.each(r.error, function (val, key) {
						if(key == 'kod') {
							$('#kod-input', $form).parent().addClass('of-err');
							$('#kod-input', $form).parent().find('.of-err-desc').text(val);
							$('#kod-input', $form).parent().find('.of-form-ajax-error').show();
							
						} else if(key == 'nickName') {
							$('#c_autor', $form).parent().addClass('of-err');
							$('#c_autor', $form).parent().find('.of-err-desc').text(val);
							$('#c_autor', $form).parent().find('.of-form-ajax-error').show();
						} else if(key == 'comment') {
							$('.comment-textarea', $form).parent().addClass('of-err');
							$('.comment-textarea .of-err-desc', $form).text(val);
							$('.comment-textarea .of-form-ajax-error', $form).show();
						}
					});
					
					$('.comment-captcha', $form).css({marginTop: $('#comment_anchor').height() - 47});
					
				} else {
					$('.of-err-list', $form).slideUp();
				}
				
				if(r.content) {
					$('input[type="text"], textarea', $form).val('');
					
					$('#comments-list').replaceWith($(r.content));

					
					$('ul.comments .comment-text blockquote').prepend('â').append('â');
				}
				
				$btn.text($btn.data('orginal-val')).data('sending', false).toggleClass('button-magenta-bg-gray button-bg-gray');
			});
			
			return false;
		},
		
		'topic': function(e) {
			e.preventDefault();
			
			var $form = $('#topicForm');
			var $btn = $(e.target);
			
			if($btn.data('sending'))
				return false;
			
			if(!$btn.data('orginal-val'))
				$btn.data('orginal-val', $btn.text());
				
			$btn.text('WysyĹanie...').data('sending', true).toggleClass('button-magenta button');
			
			$.post($form.attr('action'), $form.serialize(), function (r) {
				
				$('.of-err-desc', $form).text('');
				$('.of-form-ajax-error', $form).hide();
				$('.of-err',$form).removeClass('of-err');
				
				$("#topicForm div.captcha input.captcha").attr("value", "");
				$("#topicForm div.captcha img").attr("src", r.captcha_img_url);
				$("#topicForm div.captcha #kod-id").attr("value", r.captcha_value);
				
				if(r.error !== undefined) {
					
					errors = r.error.split('.');
					
					var html = '';
					
					_.each(errors, function (val, key) {
						html += "<li>"+val+"</li>";
					});
					
					$('#propose_topic_form_err').css({
						left: parseInt($('#propose_topic_form').css('left')) + 195,
						top: parseInt($('#propose_topic_form').css('top'))
					}).find('ul').html(html).parent().slideDown().delay(5000).slideUp();
				} else {
					$('#propose_topic_form_err').stop().slideUp(250);
					$('#propose_topic_form').slideUp(250);
				}
				
				$btn.text($btn.data('orginal-val')).data('sending', false).toggleClass('button-magenta button');
			});
			
			return false;
		}
	};

	this.__construct = function() {
		this.bindValueToggle();
		this.bindCommentsFunc();
		this.bindTopicPropose();
	};

	this.bindValueToggle = function() {
		var $collection = $('input.of-js-value-toggle');
		if ($collection.length > 0) {
			$collection.each(function() {
				var $self = $(this);

				$self.data('orion-original-content', $self.attr('default-val') ? $self.attr('default-val') : $self.val());

				if ($self.val() == $self.data('orion-original-content') && !$self.hasClass('of-empty')) {
					$self.addClass('of-empty');
				}

				$self.bind('focus.Orion_valueToggle', function() {
					if ($self.val() == $self.data('orion-original-content')) {
						$self.val('').removeClass('of-empty');
					}
				}).bind( 'blur.Orion_valueToggle', function() {
							if ($self.val() == "" || $self.val() == $self.data('orion-original-content')) {
								$self.addClass('of-empty').val($self.data('orion-original-content'));
							}
					});
			});
		}
	};
	
	this.bindBlockToggle = function () {
		$(".box-toggle").click(window.orionObj.boxToggle);
	};
	
	this.boxToggle = function (e) {
		e.preventDefault();
		var what = $(this).attr('rel');
		var btn = $(this);
		if(what) {
			$('#'+what).slideToggle('fast', function (){
				btn.toggleClass('box-toggle-open');
			});
		}
		
		return false;
	};
	
	this.bindFormEngine = function() {

		if ($('.of-form').size()) {
			/*$('.of-form input, .of-form select').each(function() {
				if ($(this).is(':empty')) {
					$(this).focus();
					return false;
				}
			});*/

			$('.of-submit').live('click', function (e) { 
				return window.orionObj.Callbacks[$(this).attr('ref')].call(this, e);
			});

			$('.of-form').keypress(
				function(e) {
						
						if(e.target.tagName.toLowerCase() == 'textarea') {
							return;
						}
						
						var code = (e.keyCode ? e.keyCode : e.which);
						if (code == 13) {
							var defaultButton = $('a[default-submit='+ $(this).attr('id') + ']');
	
							if (defaultButton.size()) {
								if (defaultButton.attr('ref')) {
									defaultButton.click();
								} else {
									$(this).submit();
								}
							} else {
								$(this).submit();
							}
						}
				});
			
			$("#refresh_captcha_comment").click(function(e){
				e.preventDefault();
				
				$.post("komentarz", {name: "refresh"}, function (data){
					$("#comment #kod-input").attr("value", "");
					$("#comment .comment-captcha img").attr("src", data.captcha_img_url);
					$("#comment #kod-id").attr("value", data.captcha_value);
				}, "json");
				
				return false;
			});
		}

	};
	
	this.bindCommentsFunc = function () {
		
		if($('#add_comment').size()) {
		
			$('ul.comments .comment-text blockquote').prepend('â').append('â');
			
			$('#c_text').markItUp(
					{
						onShiftEnter:	{keepDefault:false, replaceWith:'<br />\n'},
						onCtrlEnter:	{keepDefault:false, openWith:'\n<p>', closeWith:'</p>\n'},
						onTab:			{keepDefault:false, openWith:'	 '},
						markupSet: [
	
							{name:'Pogrubienie', key:'', openWith:'(!(<strong>|!|<b>)!)', closeWith:'(!(</strong>|!|</b>)!)' },
							{name:'Cytat', key:'', openWith:'<blockquote>', closeWith:'</blockquote>' },
							{name:'Link', key:'', openWith:'<a href="[![Link:!:http://]!]"(!( title="[![Title]!]")!)>', closeWith:'</a>', placeHolder:'' }
	
						]
					}			
			);
			
			$('.bt_moderation').each(function(index){
					$(this).click(function(e) {
						
						e.preventDefault();
						
						var elm = this;
						$.get('zglos_do_moderacji',{ id:$(elm).attr('rel') });
							$(elm).fadeOut(500,function(){
								
								$(elm).css('color','#e20074').html("ZgĹoszono do moderacji");
								$(elm).fadeIn(400);
								
								setTimeout(function() { $(elm).fadeOut(400); }, 3500);						
							});
						return false;
					});
			});
		}
	};
	
	this.bindTopicPropose = function () {
		if($('#propose_topic_btn').size()) {
			
			$('#propose_topic_btn').click(function () {
					if($('#propose_topic_form:visible').length == 0) {
						
						var offset = $(this).offset();
						$('#propose_topic_form').css({
							left: (offset.left + $(this).width() - 20),
							top: (offset.top) - 12
						}).slideDown();
					} else {
						$('#propose_topic_form').slideUp(250);
					}
					
					$('#p_cancel').click(function () { $('#propose_topic_form_err').stop().slideUp(250); $('#propose_topic_form').slideUp(250); });
					
					return false;
			});
		}
		
		$("#refresh_captcha_topic").click(function(e){
			e.preventDefault();
			
			$.post("propose_theme", {name: "refresh"}, function (data){
				$("#topicForm div.captcha input.captcha").attr("value", "");
				$("#topicForm div.captcha img").attr("src", data.captcha_img_url);
				$("#topicForm div.captcha #kod-id").attr("value", data.captcha_value);
			}, "json");
			
			return false;
		});
	};
	
	
	this.addThisInit = function () {
		/*powiekszanie tekstu*/	
		$('.extend_text a').click(function(){
			var data = $(this).attr('rel').split('|');
			$('#'+data[0]).find('p').css('font-size', data[1]);
			$('.selected_size').removeClass('selected_size');
			$(this).addClass('selected_size');
			if (this.basicSize == '') {

			}
			return false;
		});
		
		
		$('.addthis_button_facebook').attr('title','Podziel siÄ');
		$('.addthis_button_twitter').attr('title','Podziel siÄ');
		$('.addthis_button_wykop').attr('title','Podziel siÄ');
		$('.addthis_button_blip').attr('title','Podziel siÄ');
		$('.addthis_button_favorites').attr('title','Dodaj do ulubionych');
		
	};
	

	this.__construct();
};

$(document).ready(function() {
	window.orionObj = new Orion;
	window.orionObj.bindFormEngine();
	window.orionObj.bindBlockToggle();
	window.orionObj.addThisInit();
	if($.browser.msie && $.browser.version >=7 && $.browser.version < 8)
			$('#menu_kultura,#menu_okazje').css('padding-left','2px');
	if($.browser.msie && $.browser.version < 7){
		$('#menu li').css('padding-left','0px');
		$('#menu li:first').css('padding-left','3px');
		$('#menu li:gt(2)').css('padding-left','1px');
	}
	
	if($('body').css('background-image').toString().indexOf('enh')>0) {
	$('body').css('position','relative');
	$('<div>').attr('id','backgroundLink').css({
		'width': Math.round(($(window).width()-978)/2) ? Math.round(($(window).width()-978)/2) : 0,
		'height': 25,
		'cursor': 'pointer',
		'position': 'absolute',
		'right': 0,
		'top' : 420
	}).click(function(){
		window.open('http://www.nowehoryzonty.pl/','_blank');
	}).appendTo('body');
			
	$(window).resize(function() {
	  	var w = Math.round(($(window).width()-978)/2);
		$('#backgroundLink').css( {'width': ( w > 0 ? w : 0 ) });
	});
	
}
	

		 	
});
