$(document).ready(function(){
	$(document).pngFix();
	focusblur("#search-query", 'Поиск');
	focusblur("#login", 'Логин');
	focusblur("#pass", 'Парол_');
	focusblur("#openid", 'Например: user.livejournal.com');
	$("#auth-login-href").click(function(){
		$("#auth-openid").hide();
		$("#auth-login").show();
		return false;
	});
	$("#auth-openid-href").click(function(){
		$("#auth-login").hide();
		$("#auth-openid").show();
		return false;
	});
	$(".popup-close").click(function(){
		$(this).parent().parent().fadeOut("fast", function () {$("#overlay").hide();});
		return false;
	});

/* Addnews */
	$("#bbcode-P").click(function(){doAddTags('[p]','[/p]','bbtextarea');return false;});
	$("#bbcode-B").click(function(){doAddTags('[b]','[/b]','bbtextarea');return false;});
	$("#bbcode-I").click(function(){doAddTags('[i]','[/i]','bbtextarea');return false;});
	$("#bbcode-U").click(function(){doAddTags('[u]','[/u]','bbtextarea');return false;});
	$("#bbcode-url").click(function(){doURL('bbtextarea');return false;});
	$("#bbcode-cut").click(function(){doCUT('bbtextarea');return false;});
	$("#bbcode-img").click(function(e){
		if (!checkpopup()) return false;
		var top = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
		var height = document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
		$("#overlay").show();
		$("#image-upload").css("top",(top + 300)).fadeIn("slow");
		return false;
	});
	$("#bbcode-list").click(function(){doList('[LIST]','[/LIST]','bbtextarea');return false;});
	$("#bbcode-order").click(function(){doList('[LIST=1]','[/LIST]', 'bbtextarea');return false;});

	$("#image-upload-link-href").click(function(){
		$("#image-upload-file").hide();
		$("#image-upload-link").show();
		return false;	
	});
	$("#image-upload-file-href").click(function(){
		$("#image-upload-link").hide();
		$("#image-upload-file").show();
		return false;	
	});
	$("#avatar-upload-link-href").click(function(){
		$("#avatar-upload-file").hide();
		$("#avatar-upload-link").show();
		return false;	
	});
	$("#avatar-upload-file-href").click(function(){
		$("#avatar-upload-link").hide();
		$("#avatar-upload-file").show();
		return false;	
	});	
	$("#content-submit").click(function(){
        PostContent();
        return false;		
	});
	$("#edition-submit").click(function(){
        PostEdition();
        return false;		
	});	
    $("form[name='bbform']").submit(function(){
		return false;
    });
	$("#add-preview").click(function(){
        PreviewContent();
        return false;		
	});
	$("a[id^='delete-']").click(function(){
		var attrid = $(this).attr('id');
		var id = $(this).attr('id').split('-');
		LoadingShow();
		$.post("/ajax.php", { action: "deletecontent", contentid: id[1] }, function(data){
			LoadingHide();
			if (data=='1') {
				$('#'+attrid).parent().parent().hide();
			}
		});
		return false;
	})
/* Addnews */	

/* UserRegisterAccount */
	$("#user-register-href").click(function(e){
		if (!checkpopup()) return false;
		var top = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
		var height = document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
		$("#overlay").show();
		$("#user-register").css("top",(top + 200)).fadeIn("slow");
		return false;	
	});
	$("#pass-reminder-href").click(function(e){
		if (!checkpopup()) return false;
		var top = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
		var height = document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
		$("#overlay").show();
		$("#pass-reminder").css("top",(top + 300)).fadeIn("slow");
		return false;	
	});
	$("#user-account-href").click(function(e){
		if (!checkpopup()) return false;
		var top = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
		var height = document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
		$("#overlay").show();
		$("#user-account").css("top",(top + 200)).fadeIn("slow");
		return false;	
	});	
	$("#popup-select-sex-m a").click(function(){
		$("#popup-select-sex-m a, #popup-select-sex-f a").removeClass('active');
		$(this).addClass('active');
		$("form[name='rform'] input[name='rsex']").attr('value','m');
		$("form[name='aform'] input[name='asex']").attr('value','m');
		return false;
	});
	$("#popup-select-sex-f a").click(function(){
		$("#popup-select-sex-m a, #popup-select-sex-f a").removeClass('active');
		$(this).addClass('active');
		$("form[name='rform'] input[name='rsex']").attr('value','f');
		$("form[name='aform'] input[name='asex']").attr('value','f');
		return false;
	});	
    $("#user-register-submit").click(function(){
        $("form[name='rform']").submit();
        return false;
    });
    $("form[name='rform']").submit(function(){
        checkRegForm();
        return (error == 0) ? true : false;
    });
    $("#user-account-submit").click(function(){
        $("form[name='aform']").submit();
        return false;
    });
    $("form[name='aform']").submit(function(){
        checkAccForm();
        return (error == 0) ? true : false;
    });	
    $(".check-login").click(function(){
        CheckLogin();
        return false;
    });
    $("input[name='rlogin']").blur(function(){
        $(".check-login").click();
        return false;
    });
    $("#pass-reminder-submit").click(function(){
        $("form[name='fform']").submit();
        return false;
    });
    $("form[name='fform']").submit(function(){
		RemindPass();
		return false;
    });
	$("#user-account-chpass-href").click(function(){
		$("#user-account-chpass").toggle();
		return false;
	});
	$("#avatar-upload-href").click(function(){
		if (!checkpopup()) return false;
		var top = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
		$("#overlay").show();
		$("#avatar-upload").css("top",(top + 200)).fadeIn("slow");
		return false;
	});	
/* UserRegisterAccount */	

/* Comments */
	$("form[name='cform']").submit(function(){
		PostComment();
		return false;
    });
	$("#comments-item-submit").click(function(){
		$("form[name='cform']").submit();
		return false;
	});
	ReplyInit();
	$(".button-reply-new").click(function(){
		$("#comment-add").show();
		$("#comment-add").removeAttr("class").addClass("comments-level-0");	
		$(".comments").append($("#comment-add"));
		$("form[name='cform'] input[name='cpid']").attr('value', '0');
		$("form[name='cform'] textarea[name='ctext']").focus();
		return false;
	});
	$("form[name='cform'] textarea[name='ctext']").keypress(function(e){
		if (((e.keyCode == 13) || (e.keyCode == 10)) && (e.ctrlKey == true)) {$("form[name='cform']").submit();}
	});
	$(".content-item-comment .full").mouseover(function(){
		id = $(this).attr('id').split('-');
		id = id[2];
		$("#comment-bar").html(CommentBarContent[id]).css('top', this.offsetTop).fadeIn();
		return false;
	}).mouseout(function(){
		$("#comment-bar").fadeOut();
		return false;
	});
/* Comments */

/* Search */
	($("form[name='qform']")).submit(function(){
		SubmitSearch();
		return false;
    });
	$("#seqrch-submit").click(function(){
		$("form[name='qform']").submit();
		return false;
	});
/* Search */
});

function focusblur (inputid, textvalue) {
	$(inputid).focus(function () {
        if($(this).attr('value') == textvalue) {
            $(this).attr('value','');
        }
    }).blur(function () {
        if($(this).attr('value') == '') {
            $(this).attr('value', textvalue);
		}
	});	
};

function checkpopup() {
	if ($("#overlay").css("display")=='none') {return true;} else {return false;}
}

/* UserRegister */
function checkRegForm() {
    error = 0;
    var login = $("form[name='rform'] input[name='rlogin']");
    var mail = $("form[name='rform'] input[name='remail']");
    var pass1 = $("form[name='rform'] input[name='rpass1']");
    var pass2 = $("form[name='rform'] input[name='rpass2']");
	//var sex = $("form[name='rform'] input[name='rsex']");
	var sex = $("input[name='rsex']");
    var mailpreg = /^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))*(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i;
    
    if (login.attr('value').length < 4 || $("input[name='check-login-trigger']").attr('value')!='0') {login.css('border','1px solid red'); error++;} else {login.css('border','1px solid #8EA3AE');}
    if (!mail.attr('value').match(mailpreg)) {mail.css('border','1px solid red'); error++;} else {mail.css('border','1px solid #8EA3AE');}    
    if (pass1.attr('value').length < 4) {pass1.css('border','1px solid red'); error++;} else {pass1.css('border','1px solid #8EA3AE');}
    if (pass1.attr('value') != pass2.attr('value')) {pass2.css('border','1px solid red'); error++;} else {pass2.css('border','1px solid #8EA3AE');}
    //if ((sex.attr('value') != 'm') || (sex.attr('value') != 'f')) {$(".popup-select-sex").css('background-color','red'); error++;} else {$(".popup-select-sex").css('background-color','');}
    return (error > 0) ? false : true;
}

function checkAccForm() {
    error = 0;
	if ($("form[name='aform'] input[name='aemail']").attr('value') != undefined) {
		var mail = $("form[name='aform'] input[name='aemail']");
		var pass0 = $("form[name='aform'] input[name='apass0']");
		var pass1 = $("form[name='aform'] input[name='apass1']");
		var pass2 = $("form[name='aform'] input[name='apass2']");
	}
	var sex = $("form[name='aform'] input[name='asex']");
    var mailpreg = /^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))*(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i;
    
	if ($("form[name='aform'] input[name='aemail']").attr('value') != undefined) {
		if (!mail.attr('value').match(mailpreg)) {mail.css('border','1px solid red'); error++;} else {mail.css('border','1px solid #8EA3AE');}
		if (pass0.attr('value') != '' && pass1.attr('value') != '' && pass2.attr('value') != '') {
			if (pass0.attr('value').length < 1) {pass0.css('border','1px solid red'); error++;} else {pass0.css('border','1px solid #8EA3AE');}
			if (pass1.attr('value').length < 4) {pass1.css('border','1px solid red'); error++;} else {pass1.css('border','1px solid #8EA3AE');}
			if (pass1.attr('value') != pass2.attr('value')) {pass2.css('border','1px solid red'); error++;} else {pass2.css('border','1px solid #8EA3AE');}
		}
	}
    if (sex.attr('value') == '0') {$(".popup-select-sex").css('background-color','red'); error++;} else {$(".popup-select-sex").css('background-color','');}
    return (error > 0) ? false : true;
}

function CheckLogin() {
    var login = $("form[name='rform'] input[name='rlogin']").attr('value');
	LoadingShow();
    $.post("/ajax.php", { action: "checklogin", clogin: login }, function(data){
        LoadingHide();
		if(data == 1) {
            $(".check-login").text('свободен');
            $("input[name='check-login-trigger']").attr('value','0');
            $("form[name='rform'] input[name='rlogin']").css('border','1px solid #8EA3AE');
        } else  {
            $(".check-login").text('занят');
            $("input[name='check-login-trigger']").attr('value','1');
            $("form[name='rform'] input[name='rlogin']").css('border','1px solid red');
        }
    });
}

function RemindPass() {
	var mail = $("form[name='fform'] input[name='femail']");
	var login = $("form[name='fform'] input[name='flogin']");
	var mailpreg = /^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))*(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i;
	
	if (login.attr('value').length < 1) {login.css('border','1px solid red');} else {login.css('border','1px solid #8EA3AE');}
	if (!mail.attr('value').match(mailpreg)) {mail.css('border','1px solid red');} else {mail.css('border','1px solid #8EA3AE');}
	if ((mail.attr('value').match(mailpreg)) && (login.attr('value').length >= 1)) {
		LoadingShow();
		$.post("/ajax.php", { action: "resetpass", femail: mail.attr('value'), flogin: login.attr('value')}, function(data){
			LoadingHide();
			if(data == 1) {
				alert('Новый пароль создан, проверьте Вашу почту.');
			} else  {
				alert('Ошибка, проверьте правильность введенных данных.');
			}
		});
	$("#pass-reminder").fadeOut("fast", function () {$("#overlay").hide();});
	};
}
/* UserRegister */

/* Comments */
function ReplyInit() {
	$(".button-reply").click(function(){
		$("#comment-add").show();
		var li = $(this).parent().parent().parent().parent();
		var cpid = $(this).parent().parent().parent().parent().attr('id');
		var level = $(this).parent().parent().parent().parent().attr('class').split('-');
		if (level[2] >= 5) {level[2] = 5;} else {level[2]++;}
		$("#comment-add").removeAttr("class").insertAfter(li).addClass("comments-level-"+level[2]);
		$("form[name='cform'] input[name='cpid']").attr('value', cpid);
		$("form[name='cform'] textarea[name='ctext']").focus();
		return false;
	});
	$(".button-delete").click(function(){
		id = $(this).parent().parent().parent().parent().attr('id');
		DeleteComment(id);
		return false;
	});		
}

function PostComment() {
	li = $("#comment-add");
	var cid = $("form[name='cform'] input[name='ccid']").attr('value');
	var pid = $("form[name='cform'] input[name='cpid']").attr('value');
	var com = $("form[name='cform'] textarea[name='ctext']").val();
	if (com.length < 3) return false;
	$("#comment-add").hide();
	LoadingShow();
	$.post("/ajax.php", { action: "postcomment", ccid: cid, cpid: pid, comment: com, captcha: ufo }, function(data){
		LoadingHide();
		li.before(data);
		var level = li.attr('class').split('-');
		$(".new-comment-item").removeAttr("class").addClass("comments-level-"+level[2]);
		$("form[name='cform'] textarea[name='ctext']").val('');
		$("#comment-add").hide();
		ReplyInit();
	});
}

function DeleteComment(id) {
	LoadingShow();
	$.post("/ajax.php", { action: "deletecomment", cid: id}, function(data){
		LoadingHide();
		if (data!=0) {
			$("#"+id).html(data);
		}
	});
}
/* Comments */

/* Content */
function PostContent() {
	var header = $("form[name='bbform'] input[name='content-header']").attr('value');
	var catid = $("form[name='bbform'] select[name='category-id']").attr('value');
	var text = $("form[name='bbform'] textarea[name='content-text']").val();
	var source = $("form[name='bbform'] input[name='source-link']").attr('value');
	LoadingShow();
	$.post("/ajax.php", { action: "postcontent", contentheader: header, categoryid: catid, contenttext: text, sourcelink: source, captcha: ufo }, function(data){
		LoadingHide();
		if (data!='0') {
			alert('Новость успешно добавлена. После рассмотрения модератором она будет опубликована.');
			window.location="/"+data+"/";
		} else {
			alert('Произошла ошибка, проверьте правильность написания текста, параметры картинок, длину строк.');
		}
	});
}

function PostEdition() {
	var header = $("form[name='bbform'] input[name='content-header']").attr('value');
	var catid = $("form[name='bbform'] select[name='category-id']").attr('value');
	var text = $("form[name='bbform'] textarea[name='content-text']").val();
	var source = $("form[name='bbform'] input[name='source-link']").attr('value');
	var cid = $("form[name='bbform'] input[name='content-id']").attr('value');
	LoadingShow();
	$.post("/ajax.php", { action: "postedition", contentheader: header, categoryid: catid, contenttext: text, sourcelink: source, captcha: ufo, contentid: cid }, function(data){
		LoadingHide();
		if (data=='1') {
			alert('Новость успешно отредактирована. После рассмотрения модератором она будет опубликована.');
			window.location="/"+cid+"/";
		} else {
			alert('Произошла ошибка, проверьте правильность написания текста, параметры картинок, длину строк.');
		}
	});
}

function PreviewContent() {
	var header = $("form[name='bbform'] input[name='content-header']").attr('value');
	var catid = $("form[name='bbform'] select[name='category-id']").attr('value');
	var text = $("form[name='bbform'] textarea[name='content-text']").val();
	var source = $("form[name='bbform'] input[name='source-link']").attr('value');
	LoadingShow();
	$.post("/ajax.php", { action: "previewcontent", contentheader: header, categoryid: catid, contenttext: text, sourcelink: source, captcha: ufo }, function(data){
		LoadingHide();
		if (data=='0') {
			alert('Произошла ошибка, проверьте правильность написания текста, параметры картинок, длину строк.');
		} else {
			$("#content-add-preview").html(data);
		}
	});
}
/* Content */

/* Search */
function SubmitSearch() {
	var query = $("#search-query").attr('value');
	if (query.length < 4) return false;
	query = str_replace (' ', '+', query);
	window.location="/search/"+query+"/";
}
/* Search */

function LoadingShow(e) {
	var top = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
	$("#overlay").show();
	$("#loading").css("top", top).show();	
}
function LoadingHide() {
	$("#loading").hide();
	//$("#overlay").hide();
}

function str_replace (search, replace, subject ) {
    if(!(replace instanceof Array)){
        replace=new Array(replace);
        if(search instanceof Array){
            while(search.length>replace.length){
                replace[replace.length]=replace[0];
            }
        }
    }
    if(!(search instanceof Array))search=new Array(search);
    while(search.length>replace.length){
        replace[replace.length]='';
    }
    if(subject instanceof Array){
        for(k in subject){
            subject[k]=str_replace(search,replace,subject[k]);
        }
        return subject;
    }
    for(var k=0; k<search.length; k++){
        var i = subject.indexOf(search[k]);
        while(i>-1){
            subject = subject.replace(search[k], replace[k]);
            i = subject.indexOf(search[k],i);
        }
    }
    return subject;
}