/* quick view */
function quick_post( id ) {
	if( $('#quick-view-' + id).is(':not(:visible)') ) {
		ShowLoading('');
		$.post(dle_root + "engine/ajax/quick_post_view.php", { id: id, skin: dle_skin }, function(data){
			HideLoading('');
			RunAjaxJS('quick-view-' + id, data);
			setTimeout(function() {
				$('#quick-view-' + id).html(data).slideDown();
			},100);
		});
	} else {
		$('#quick-view-' + id).slideUp(400,function(){
			$(this).empty();
			//$("html:not(:animated)"+( ! $.browser.opera ? ",body:not(:animated)" : "")).animate({scrollTop: $("#post-id-" + id).offset().top - 10}, 400);
		});
	}
}

/* reply post */
function reply_post( id, section ) {
	if( $('#reply-post-' + id).is(':not(:visible)') ) {
		ShowLoading('');
		$.post(dle_root + "engine/ajax/reply_post_view.php", { id: id, section: section, skin: dle_skin }, function(data){
			HideLoading('');
			RunAjaxJS('reply-post-' + id, data);
			setTimeout(function() {
				$('#reply-post-' + id).html(data).slideDown();
				//$("html:not(:animated)"+( ! $.browser.opera ? ",body:not(:animated)" : "")).animate({scrollTop: $("#reply-post-" + id).offset().top - 20}, 400);
			},100);
		});
	} else {
		$('#reply-post-' + id).slideUp();
	}
	
}

/* user subscribe */
function toSubscribe( id ) {
	ShowLoading('');
	$.get(dle_root + "engine/ajax/user_subscribe.php", { id: id, skin: dle_skin }, function(data){
		HideLoading('');
		RunAjaxJS('subscribes_action', data);
		setTimeout(function() {
			$('#subscribes_action').html(data);
		},100);
	});
}

/* show subscribers */
function showSubscribers( id, el ) {
	ShowLoading('');
	$(el).css('visibility','hidden');
	$.get(dle_root + "engine/ajax/user_show_subscribers.php", { id: id, skin: dle_skin }, function(data){
		HideLoading('');
		setTimeout(function() {
			$('#list_subscribers').append(data);
		},100);
	});
}

/* show likes */
function showLikes( id, el ) {
	ShowLoading('');
	$(el).css('visibility','hidden');
	$.get(dle_root + "engine/ajax/user_show_likes.php", { id: id, skin: dle_skin }, function(data){
		HideLoading('');
		setTimeout(function() {
			$('#list_likes').append(data);
		},100);
	});
}

/* users rate */
function rateUser( id, action ) {
	ShowLoading('');
	$.get(dle_root + "engine/ajax/users_rate.php", { id: id, action: action, skin: dle_skin }, function(data){
		HideLoading('');
		RunAjaxJS('user-rate-' + id, data);
		setTimeout(function() {
			$('#user-rate-' + id).html(data);
			$('.user_do_rate').remove();
		},100);
	});
}

/* post rate */
function ratePost( id, el, action, section ) {
	ShowLoading('');
	$.get(dle_root + "engine/ajax/post_rate.php", { id: id, action: action, section: section, skin: dle_skin }, function(data){
		HideLoading('');
		RunAjaxJS('ex-ajax-layer', data);
		setTimeout(function() {
			
			if( action == 'plus' ) $(el).addClass('up_active');
			else $(el).addClass('down_active');
			
			$(el).parent('.thumbs').find('.diff').html(data);
		},100);
	});
}

/* comments rate */
function rateCom( id, action) {
	ShowLoading('');
	$.get(dle_root + "engine/ajax/com_rate.php", { id: id, action: action, skin: dle_skin }, function(data){
		HideLoading('');
		RunAjaxJS('comm-rate-' + id, data);
		setTimeout(function() {			
			$('#comm-rate-' + id).html(data);
			//$('.com_do_rate').remove();
		},100);
	});
}

/* comments go to and back */
function comGoTo( obj, id_parent ) {
	var save_com_back = obj.rel;
	$('#comment-id-' + id_parent).find('.c_answer_back').css({visibility: 'visible'}).attr('rel',save_com_back);
	$("html"+( ! $.browser.opera ? ",body" : "")).animate({scrollTop: $('#comment-id-' + id_parent).position().top}, 400);
	return false;
}

function comGoBack( obj ) {
	obj.style.visibility = 'hidden';
	var get_com_back = obj.rel;
	$("html"+( ! $.browser.opera ? ",body" : "")).animate({scrollTop: $('#comment-id-' + get_com_back).position().top}, 400);
	return false;
}

/* load more comments */
var comm_page = 0;
	
function loadComments( action ) {
	
	if( action == 'more' ) comm_page += 1;
	else comm_page -= 1;
	
	ShowLoading('');
	$.get(dle_root + "engine/ajax/lastcomments_load.php", { page: comm_page, skin: dle_skin }, function(data){
		HideLoading('');
		$('#load-comments').slideUp(200);
		setTimeout(function() {
			$('#load-comments').html(data).slideDown(200);
		},200);
		
		if( comm_page > 3 ) {
			$('.unvis').show();
			$('.vis').hide();
		} else {
			$('.unvis').hide();
			$('.vis').show();
		}
		
		if( comm_page > 0 ) $('.unvisback').show();
		else $('.unvisback').hide();
		
	});
	
	return false;	
}

function errorAnim( obj ) {
	obj.css({'visibility':'visible'})
		.animate({'padding-left':'15px'},100).delay(20)
		.animate({'padding-left':'10px'},100).delay(20)
		.animate({'padding-left':'15px'},100).delay(20)
		.animate({'padding-left':'10px'},100).delay(20)
		.animate({'padding-left':'15px'},100).delay(20)
		.animate({'padding-left':'10px'},100).delay(20);
}


function saveSection( section ) {
	$.cookie('section', section, { path: '/', expires: 3600000*24*30 });
}

function rateSubscribe( id ) {
	ShowLoading('');
	$.get(dle_root + "engine/ajax/user_subscribe.php", { id: id, action: 'rate', skin: dle_skin }, function(data){
		HideLoading('');
		RunAjaxJS('rate-user-sub-' + id, data);
		setTimeout(function() {
			$('#rate-user-sub-' + id).html(data);
		},100);
	});
}

$(document).ready(function(){
	
	$('#slide_day').slideDay();
	
	var loc = window.location.hash;
	var loc_comment = loc.match(/(\#comment-id-\d+|\#addcomment|\#comment)/);
	
	if(loc_comment) $('html,body').stop(true,true).animate({scrollTop: $(loc).offset().top},600);
	
	$.fn.countChars = function(options){
		var defaults = {
			countId: 	'count',
			limit:	2000
		};
		
		var options = $.extend(defaults, options);
		
		this.each(function() {
			
			var obj = $(this);
			
			obj.bind('keyup',function(e){
				
				var number = obj.val().length;
				
				if(number <= options.limit) {
					$('#' + options.countId).text(options.limit-number);
				}
				
				if(number == options.limit) {
					obj.attr({maxlength: options.limit});
				}
				
				if(number > options.limit) {
					$('#' + options.countId).html('<span style="color: #ff0000;">'+(options.limit-number)+'</span>');
					obj.attr({maxlength: options.limit});
				}
				
			});
			
		});
		
	};
	
	/* footer stick */
	var fHeight = $("div#footer").innerHeight();
	$("div#footer").css({"margin-top":-fHeight+"px"});
	$("div#main").css({"padding-bottom":fHeight+"px"});
	
	/* auth control */
	$('.notlogged a').click(function(){
    var id = $(this).attr('id');
    $('#bg-layer').show();
    $('#not-logged').show();
    if( id == 'doregister' ) {
      $('#not-logged .tabs li').removeClass('active');
      $('#not-logged .tabs li[rel="register"]').addClass('active');
      $('#not-logged .cont .wr').hide();
      $('#not-logged .cont .register').show();
    } else {
      $('#not-logged .tabs li').removeClass('active');
      $('#not-logged .tabs li[rel="login"]').addClass('active');
      $('#not-logged .cont .wr').hide();
      $('#not-logged .cont .login').show();
    }
    return false;
  });
  $('#bg-layer, #not-logged .close').click(function(){
    $('#bg-layer').hide();
    $('#not-logged').hide();
  });
  
  $('#not-logged .tabs li').click(function(){
    if( ! $(this).hasClass('active') ) {
      $('#not-logged .cont .wr').hide();
      $('#not-logged .cont .' + $(this).attr('rel')).show();
      $('#not-logged .tabs li').removeClass('active');
      $(this).addClass('active');
    }
  });
	
	/* top link */
	$(window).scroll(function() {
		if($(this).scrollTop() > 300) $('#top_link').fadeIn();
		else $('#top_link').fadeOut('fast');
	});
	$('#top_link').click(function() {
		$("html:not(:animated)"+( ! $.browser.opera ? ",body:not(:animated)" : "")).animate({scrollTop:0},400);
	});
	
	/* post resize
	$('#posts_resize a').click(function(){
		var resize_type = $(this).attr('rel');
		if( !$(this).hasClass('small_active') && !$(this).hasClass('big_active') ) {
			
			$('#posts_resize a').removeClass('small_active big_active');
			
			if( resize_type == 'big' ) {
				$(this).addClass('big_active');
				
				$('.post').animate({'padding-left':'170px'},400);
				$('.post .img').animate({'height':'100px','margin-left':'-143px','width':'130px'},400);
				$('.post .img img').animate({'height':'100px','width':'130px'},400);
				
				$.cookie('postmod', '1', { path: '/', expires: 3600000*24*30 });
				
			} else {
				$(this).addClass('small_active');
				
				$('.post').animate({'padding-left':'120px'},400);
				$('.post .img').animate({'height':'60px','margin-left':'-93px','width':'80px'},400);
				$('.post .img img').animate({'height':'60px','width':'80px'},400);
				
				$.cookie('postmod', '0', { path: '/', expires: 3600000*24*30 });
			}
			
		}
		return false;
	});
	*/
	
	/* filter sep */
	$('#filter_show li:last').addClass('last');
	
	/* comments acts 
	$('.comment').live({
		mouseenter: function() {
			$(this).find('.botline').css('visibility','visible');
		},
		mouseleave: function() {
			$(this).find('.botline').css('visibility','hidden');
		}
	});
	*/
	$('.comment .botline').each(function(){
		$(this).find('a:last').addClass('last');
	});
	
	/* add comments */
	var com_form = $('#reply_form_0').html(); // saving default comments form
	
	function reloadCaptcha() {
		if( $('#dle-captcha').html() !== null ) reload();
	}
	
	$('.comment .botline .link, .defcomlink').live('click',function(){
		var id = $(this).attr('rel');
		$('.reply_form').hide().empty();
		$('.comment_frame:not(:visible)').hide();
		$('#dle-ajax-comments-'+id).show();
		$('#reply_form_'+id).show().append(com_form);
		$('#replyto').val(id);
		reloadCaptcha();
	});
	
	/* view cats */
	$('#view_options').click(function(){
		if( $(this).hasClass('opened') ) $('#view_cats').fadeOut();
		else $('#view_cats').fadeIn();
		$(this).toggleClass('opened');
	});
	$('#view_cats .close').click(function(){$('#view_cats').fadeOut();$('#view_options').toggleClass('opened');});
	
	$('#view_cats input[type=checkbox]').click(function(){
		$(this).next('label').toggleClass('checked');
	});
	
	$('#view_cats .save button').click(function(){
		var view_cats = [];
		$('#view_cats').find('input:checked').each(function(){
			view_cats.push($(this).val());
		});
		view_cats.join();
		$.cookie('viewcats', view_cats, { path: '/', expires: 3600000*24*90 });
		$('#view_cats').fadeOut();
		$('#view_options').toggleClass('opened');
		return false;
	});
	
	/* quick registration */
	$('#quick-register').click(function(){
		var senderror = false;
		var login = $('#quick-register-form .login').val();
		var email = $('#quick-register-form .email').val();
		var psswd = $('#quick-register-form .psswd').val();
		
		$('#quick-register-form .login,#quick-register-form .email,#quick-register-form .psswd, #quick-register-form #status-register').text('').removeClass('error');
		
		if( ! login.replace(/\s+/g,'').length ) {
			$('#status-register').text('Укажите логин');
			$('#quick-register-form .login').addClass('error');
			senderror = true;
			return;
		}
		
		if( ! (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/).test(email) ) {
			$('#status-register').text('Неверный Email адрес');
			$('#quick-register-form .email').addClass('error');
			senderror = true;
			return;
		}
		
		if( psswd.length <= 5 ) {
			$('#status-register').text('Пароль должен состоять минимум из 6 символов');
			$('#quick-register-form .psswd').addClass('error');
			senderror = true;
			return;
		}
		
		if( ! senderror ) {
			ShowLoading('');
			$('#quick-register-form .login,#quick-register-form .email,#quick-register-form .psswd,#quick-register').attr('disabled','disabled');
			$.post(dle_root + "engine/ajax/quick_register.php", { name:login, email:email, psswd:psswd, skin:dle_skin }, function(data) {
				HideLoading('');
				RunAjaxJS('status-register', data);
			});
		}
		
		return false;
	});
	
	$('#quick-register-form input.rfield').focusin(function(){$(this).removeClass('error');});
	
	/* show com rate stat */
	$('.comment .rate .num').CreateBubblePopup({
		position: 'top',
		align: 'center',
		innerHtml: '<img src="/templates/' + dle_skin + '/images/bubble/loading-bubble.gif" /> Загрузка...',
		innerHtmlStyle: { color:'#FFFFFF', 'text-align':'center' },
		themeName: 'all-black',
		themePath: '/templates/' + dle_skin + '/images/bubble'
	});
	
	$('.comment .rate .num').mouseover(function(){
		var ratevar = $(this);
		
		$.get(dle_root + "engine/ajax/com_showrate.php", { id: ratevar.attr('id'), skin: dle_skin }, function(data){
			ratevar.SetBubblePopupInnerHtml(data, true);
		});
	});
	
});
