var sUsername = '';
var jLinkAnswer = null;
var jPostAnswer = null;
var iPostFiles = 0;
var oWaiting = null;

$(
 function(){
 	oValidator.validateAll();
//	$(".ankor").each(function(i){
//		this.name = 'p' + this.name;
//	});
//	// $(".forum_block.posts").ScrollToAnchors(500);
	var sAnkor = window.location.href.split('#')[1];
	if(sAnkor && sAnkor.substr(0,1) == 'p'){
		sAnkor = sAnkor.substr(1);
		$('#'+sAnkor).parents('.post').addClass('full');
		$('#'+sAnkor).addClass('full');		
	}
	
	if(sUsername!=''){
		$('div.username span').html(sUsername);
		$('.logout').show();
	}else{
		$('.logging_container').show();
	}
	
	
 }
);

function collapseAnswer(){
	if(jPostAnswer){
		jPostAnswer.hide();
		jPostAnswer = null;
	}
	if(jLinkAnswer) jLinkAnswer.removeClass('selected');
}

function doAnswer(obj){
//	if(sUsername==''){
//		oWaiting = obj;
//		showLoginForm();
//	} else {
		if(obj.className != 'jslink' && obj.className != 'button'){	
			collapseAnswer();
		} else {
			collapseAnswer();
			jPostAnswer = $('.post_answer', obj.parentNode);
			jLinkAnswer = $(obj);
			var sAnswer = $('#template_answer').html();
	//		jPostAnswer.html(sAnswer).SlideInUp(500);
			jPostAnswer.html(sAnswer).show();
			var id = obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id;
			jPostAnswer.find('#parent_id').val(id);			
			if(id!=0){				
				$('#post_name', obj.parentNode).hide();
				$('#title_name', obj.parentNode).hide();								
			};
			jLinkAnswer.addClass('selected');
			iPostFiles = 0;
		}
//	}
	return false;
}

function doEdit(obj){
	if(obj.className != 'jslink' && obj.className != 'button'){
		collapseAnswer();
	} else {
		collapseAnswer();
		jPostAnswer = $('.post_edit', obj.parentNode);
		jLinkAnswer = $(obj);
		var sAnswer = $('#template_edit').html();
//		jPostAnswer.html(sAnswer).SlideInUp(500);
		jPostAnswer.html(sAnswer).show();
		var id = obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id;
		var sName = $(obj.parentNode).find('.for_edit_name').html();
		var sText = $(obj.parentNode).find('.for_edit_text').val();
		if(sName==''){			
			$('#post_name', obj.parentNode).hide();
			$('#title_edit', obj.parentNode).hide();				
			
		}
		jPostAnswer.find('#id').val(id);
		jPostAnswer.find('#post_name').val(sName);
		jPostAnswer.find('#post_text').val(sText);
		jLinkAnswer.addClass('selected');
	}
	return false;
}


function doLink(obj){
	if(obj.className != 'jslink'){	
		collapseAnswer();
	} else {
		collapseAnswer();
		jPostAnswer = $('.post_link', obj.parentNode);
		jLinkAnswer = $(obj);
		var sAnswer = $('#template_link').html();
		jPostAnswer.html(sAnswer).show();
		var x = jPostAnswer.find('#link').get()[0];
		x.focus();
		x.select();		
		var id = obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id;
		var jPALink = jPostAnswer.find('#link');
		jPALink.val(window.location.href.split('#')[0] + '#p' + id);
		jLinkAnswer.addClass('selected');
	}
	return false;
}

function checkPost(obj){
	if($(obj).find('#post_name').val() || $(obj).find('#post_text').val() ){
		$('form input').each(function(){
			if(this.className.substr(0,2)=='ah'){
				var i=this.className.substr(3);
				if(!aGN[i]){this.value=''}
			}
		});
		return true;
	}{
		return false;
	}
}

function addFile(obj){
	if(iPostFiles<10){
		var html = $('#template_file').html();	
		re1 = /(file_caption)/g;
		re2 = /(file_file)/g;
		var i = Math.round(Math.random()*10000);
		html = html.replace(re1, "$1_"+i);
		html = html.replace(re2, "$1_"+i);
		$('.files_container', obj.parentNode).append(html);
		iPostFiles = iPostFiles + 1;
	}
	return false;
}

function removeFile(obj){
	obj.parentNode.parentNode.removeChild(obj.parentNode);
	iPostFiles = iPostFiles - 1;
}

function switchPost(obj){
	$(obj.parentNode.parentNode).toggleClass('full');
	return false;
}

function expandAll(){
	$('.post').addClass('full');
	$('#exp_all').hide();
	$('#col_all').show();
	return false;
}

function collapseAll(){
	$('.post').removeClass('full');
	$('#exp_all').show();
	$('#col_all').hide();
	return false;
}

function showLoginForm(){
	$('#login_form').show();
}

function hideLoginForm(){
	gotoLogin();
	$('dl.error dd').hide();
	$('dl.error_reg dd').hide();
	$('#login_form').hide();
	return false;
}

function gotoRegistration(){
	$('form#login').hide();
	$('form#register').show();
}
function gotoLogin(){
	$('form#login').show();
	$('form#register').hide();
}

function doLogin(){
	$('dl.buttons input').each(function(){ this.disabled = true; });	
}

function loginBack(data){
	$('dl.buttons input').each(function(){ this.disabled = false; });
	if(data.length < 4){
		if(data=='md'){
					hideLoginForm();
					parent.window.location = '/';
				} else {
					sUsername = $("#auth-name").val();
					hideLoginForm();
					parent.window.location = '/';
//					if(oWaiting){doAnswer(oWaiting)};
//					$('div.username span').html(sUsername);
//					$('.logging_container').hide();
//					$('.logout').show();
				}			
	} else {
		$('dl.error dd').show();
	}
}

var aGN = {1:1,3:1,19:1,21:1,27:1,37:1,39:1,44:1,45:1,47:1,49:1,50:1,52:1,64:1,65:1,69:1,72:1,75:1,83:1,86:1,92:1,93:1,95:1,99:1,101:1,102:1,106:1,109:1,112:1,116:1,118:1,125:1,140:1,149:1,150:1,157:1,160:1,162:1,166:1,167:1,177:1,178:1,179:1,180:1,182:1,184:1,186:1,191:1,193:1,197:1}

function doRegister(){
	var sError = oValidator.checkSubmit();
	if(sError==''){
		if($("#passwd1").val()==$("#passwd2").val()){
			$('dl.buttons input').each(function(){ this.disabled = true; });
			jQuery.ajaxSetup({
			   contentType: "application/x-www-form-urlencoded; charset=windows-1251"
			});
			$.post('/logon/update.html', {'cmd':'register', 'login': $("#reg_login").val() ,'passwd': $("input#passwd1").val(), 'email': $("input#email").val(), 'subscribe': subscribe}, function(data){
				$('dl.buttons input').each(function(){ this.disabled = false; });
				if(data.length < 4){				
					sUsername = $("#reg_login").val();
					hideLoginForm();
					if(oWaiting){doAnswer(oWaiting)};
					$('div.username span').html(sUsername);
					$('.logging_container').hide();
					$('.logout').show();
				} else {
					$('dl.error_reg dd').html('ник '+$("#reg_login").val()+' уже занят').show();
				}
				return false;
			});
		} else {
			alert('Введенные пароли не совпадают!');
			return false;
		}
	} else {
		alert(sError);
		return false;
	}	
}