/* для работы всех нижеприведённых функций необходимо подключение библиотеки jQuery */

function noteEdit(id) {
	if($('#NoteEditArea_'+id).css('display')=='block') {
		$('#NoteEditArea_'+id).hide('slow');
		$('#NoteSubmitButton_'+id).css('display','none');
		$('#NoteEditButton_'+id).html('Редактировать');
		
	}
	else {		
		$('#NoteSubmitButton_'+id).css('display','inline');
		$('#NoteEditArea_'+id).show('slow');
		//$('#NoteEditButton_'+id).html('Скрыть');
	}
}

function noteSave(noteId) {
	var query = $('#NoteEditForm_'+noteId).formSerialize();
	// готовим объект
	var options = {
	  target: "#Notes",
	  url: $('#NoteEditForm_'+noteId).attr('action'),
	  success: function() {
			
	  }
	}; 	 
	// передаем опции в  ajaxSubmit
	$('#NoteEditForm_'+noteId).ajaxSubmit(options);
}

function noteDelete(noteId) {
	if(confirm('Действительно хочешь удалить?')) {
		$('#NoteDeleteFlag_'+noteId).val('1');
		var query = $('#NoteEditForm_'+noteId).formSerialize();
		// готовим объект
		var options = {
		  target: "#Notes",
		  url: $('#NoteEditForm_'+noteId).attr('action'),
		  success: function() {
				
		  }
		}; 	 
		// передаем опции в  ajaxSubmit
		$('#NoteEditForm_'+noteId).ajaxSubmit(options);
	}
}

function noteAdd() {
	var text = $('[name=note\[text\]]').val();
	if(text.length==0) {
		alert('Не сохраняйте пустые заметки, пожалуйста.');
		return;
	}
	var query = $('#NoteCreateNewForm').formSerialize();
	// готовим объект
	var options = {
	  target: "#Notes",
	  url: $('#NoteCreateNewForm').attr('action'),
	  success: function() {
			
	  }
	}; 	 
	// передаем опции в  ajaxSubmit
	$('#NoteCreateNewForm').ajaxSubmit(options);
}

function getBoard(user_login, page) {
	$.post('/actions/getboard', {user_login:user_login, page:page}, function (data) {
		$('#Board').html(data);
	});
}

function selectIcon(icon) {
	iconId = icon.getAttribute('iconid');
	iconSrc = icon.getAttribute('src');
	$('#Icon').val(iconId);
	$('#IconUserImage').attr('src',iconSrc);
	$('.iconSet').hide('slow');
}

function makeCommentForm(commentId) {
	var hrefReply = document.getElementById('hrefReply'+commentId);
	var hrefSend = document.getElementById('hrefSend'+commentId);
	if(textArea = document.getElementById('CommentTextArea_'+commentId)) {
		// кнопки "ответить и отправить"
		
		if(textArea.style.display=='block') {
			$(textArea).hide();
			$(hrefSend).hide();
		}
		else {
			$(textArea).show();
			$(hrefSend).show();
		}
		
	}
	else {
		var textArea = document.createElement('textarea');
		textArea.setAttribute('id', 'CommentTextArea_'+commentId);
		textArea.setAttribute('class', 'commentTextArea');
		textArea.setAttribute('rows', 'auto');
		textArea.setAttribute('cols', 'auto');
		textArea.style.display = 'block';
		
		var commentDiv = document.getElementById('ReplyDiv_'+commentId);
		commentDiv.insertBefore(textArea, commentDiv.firstChild);
		//var hrefs = commentDiv.getElementsByTagName('a');
		//alert(hrefs.length);
		//hrefs[0].innerHTML = 'Скрыть';
		$(hrefSend).show();
	}
}

function sendWritingComment(parent_id, writing_id,action) {	
	var commentDiv = document.getElementById('ReplyDiv_'+parent_id);
	var hrefs = commentDiv.getElementsByTagName('a');	
	var a = hrefs[1];	
	var src = a.getAttribute('href');
	var commentContent = '';
	if(action=='add') {
		var textarea = $('#CommentTextArea_'+parent_id);		
		if(textarea.val().length==0) {
			alert('Не отправляйте пустые комментарии, пожалуйста.');
			return false;
		} else {
			commentContent =textarea.val();
		}
	}
	data = 'comment[parent_id]='+parent_id+'&comment[writing_id]='+writing_id+'&comment[text]='+commentContent+'&todo='+action;
	$.post(src, data,			
			function (data) {
				$('#Comments').html(data);
			});
}

function sendWritingCommentForm() {
	var query = $('saveCommentForm').formSerialize();
	// готовим объект
	var options = {
	  target: "#Comments",
	  url: $('saveCommentForm').attr('action'),
	  success: function() {
			
	  }
	}; 	 
	// передаем опции в  ajaxSubmit
	$('#saveCommentForm').ajaxSubmit(options);
}

function vote() {	
	var query = $('#VoteForm').formSerialize();
	// готовим объект	
	var options = {
	  target: "#VoteContainer",
	  url: $('#VoteForm').attr('action'),
	  success: function() {
			
	  }
	};
	// передаем опции в  ajaxSubmit
	$('#VoteForm').hide();
	$('#VoteForm').ajaxSubmit(options);
}

//----------------------------------------------------------------------------------
function getCurrentStyle(el){
	  if(!el)return null;
	  var s=el.currentStyle; 
	  if(!s)s=document.defaultView.getComputedStyle(el,null); // Для FireFox
	  return s;
	}

	function SetPosXY(obj,x,y) {	
	  if(obj){
	    obj.style.position='absolute';
	    obj.style.left=x+'px';
	    obj.style.top=y+'px';
	  }
	}

	function getBounds(obj){
	  var w=obj.offsetWidth;
	  var h=obj.offsetHeight;
	  var x=y=0;
	  while(obj){
	    x+=obj.offsetLeft;
	    y+=obj.offsetTop;
	    obj=obj.offsetParent;
	  }
	  return{x:x,y:y,width:w,height:h};
	}

	function setPos(anc_id,obj_id,corner,margin){
	  // anc_id - id элемента, относительно которого будем позиционировать
	  // obj_id - id элемента, который будем позиционировать
	  // corner - номер угла (смотрите Рис.1)
	  // margin - отступ между элементами, чтобы они не "слипались"
	  if(!corner)corner=1;
	  var obj=document.getElementById(obj_id);
	  var anc=document.getElementById(anc_id);
	  if(!obj||!anc) return;
	  var b=getBounds(anc);
	  var c=getBounds(obj);
	  var xs=0,ys=0; // координаты left и top родительского элемента (на случай, если кто-то из родителей абсолютно позиционирован)
	  var par=obj;
	  for(var i=0;i<50;i++){
	    par=par.parentNode;
	    if(!par||par.tagName=='BODY') break;
	    var s=getCurrentStyle(par);
	    if(par.tagName=='DIV'&&s&&s.position=='absolute'){
	      var p=getBounds(par);
	      xs+=p.x
	      ys+=p.y;
	      break;
	    }
	  }	  
	  var xc=0,yc=0; // Дополнительные отступы, учитывающие номер угла
	  switch(corner){
	    case 2:
	      yc=-c.height-b.height;
	      break;
	    case 3:
	      yc=-c.height-b.height;
	      xc=-c.width;
	      break;
	    case 4:
	      xc=-c.width+b.width;
	      break;
	  }
	  var xm=0;ym=0; // Дополнительыне отступы, учитывающие параметр margin
	  if(margin){
	    xm=margin.x;
	    ym=margin.y;
	  }
	  SetPosXY(obj,b.x-xs+xc+xm,b.y+b.height-ys+yc+ym);
	}

//----------------------------------------------------------------------------------------------------------------

function choseRecipient() {
	var input = $('#AutoCompleteField'); 
	var marginTop = 4;
	if(input.val().length>0) {
		//$('#Autocomplete').html('<ul>');
		var html = '<ul>';
		for(var i = 0; i < users.length; i++) {
			if(users[i].fio.toLowerCase().match(input.val().toLowerCase())) {				
				//$('#Autocomplete').append('<tr userid="'+users[i].id+'" ><td><img src="/users_images/'+users[i].id+'/small_'+users[i].avatar+'" /></td><td valign="middle">'+users[i].fio+'</td></tr>');
				var avatar = (users[i].avatar.length > 0)?'/users_images/'+users[i].id+'/small_'+users[i].avatar:'/img/ava.gif';
				html += '<li userid="'+users[i].id+'"><p><span class="imgWrapper"><img src="'+avatar+'" border="0" class="hiddenImage"/></span><span><img src="/data/icons/'+users[i].icon_image+'"></span> <a href="" onclick="return false;">'+users[i].fio+'</a><span class="namber"><span>'+users[i].rate+'</span></span></p></li>'; 
			}
		}
		
		html +='</ul>';
		$('#Autocomplete').html(html);
		pos = getBounds(document.getElementById('AutoCompleteField'));
		$('#Autocomplete').css('position', 'absolute');
		$('#Autocomplete').css('left', pos.x+'px');
		$('#Autocomplete').css('width', $('#AutoCompleteField').width()+'px');
		$('#Autocomplete').css('top', pos.y + $('#AutoCompleteField').height()+marginTop +'px');
		$('#Autocomplete li').bind('mouseover', function () {$(this).addClass("activRec");});
		$('#Autocomplete li').bind('mouseout', function () {$(this).removeClass("activRec");});
		$('#Autocomplete li').bind('click', function () {
			$('#AutoCompleteFieldID').val(this.getAttribute('userid'));
			var fio = this.getElementsByTagName('a').item(0).innerHTML;
			$('#AutoCompleteField').val(fio);
			$('#Autocomplete').hide();
		});
		$('#Autocomplete').show();
	}
}

function deleteMessage(id, type, page) {	
	if(!page) {
		page = 0;
	}
	$.post('/actions/deletemessage', {id:id, type:type, page:page}, function (data) {
			$('#Content').html(data);
	});
}

function getMessages(type, page) {
	$.post('/actions/getmessages', {type:type, page:page}, function (data) {
		$('#Content').html(data);
});
}

function addToFavorite(id) {
	$.post('/actions/favorite', {type:'add', writing_id:id}, function (data) {
		$('#AddToFavorite').html(data);
    });
}
function removeFromFavorite(id, page) {
	$('#Autocomplete').show();
	$.post('/actions/favorite', {type:'remove', writing_id:id,page:page }, function (data) {
		$('#Content').html(data);		
    });
}

function openEdit(toHide, toShow, saveButton) {	
        for(var i = 0; i<toHide.length; i++ ) {
			$('#'+toHide[i]).toggle();			
		}
		for(var i = 0; i<toShow.length; i++ ) {
			$('#'+toShow[i]).val($('#'+toHide[i]).html().replace(/<br>/ig, "\n"));
			$('#'+toShow[i]).toggle();			
		}
	    $('#'+saveButton).toggle();
}
function saveField(fields, url, container_id,toShow, toHide, saveButtonID) {
	var data = '';
	for(key in fields) {	
	    if(key=='birthday') {
			if(!$('#Birthday').val().match(/^\d{2} [\wА-Яа-я]+ \d{4}$/)) {
				alert('Неправильный формат даты :'+fields[key]);
				$('#Birthday').css('background', 'red');
				$('#Birthday').focus();
				return false;
			}
		}
		data += 'profile['+key+']='+$('#'+fields[key]).val()+'&';		
	}
	$.post(url, data, function(data) {		
		for(var i = 0; i<toHide.length; i++ ) {
			$('#'+toHide[i]).hide();			
		}
		for(var i = 0; i<toShow.length; i++ ) {
			$('#'+toShow[i]).html($('#'+toHide[i]).val().replace('\n','<br />'));
			$('#'+toShow[i]).show();			
		}
		
		$('#'+saveButtonID).hide();	
		//if(container_id) {$('#'+container_id).html(data);}
		//else {alert(data);}	
		alert(data);
	});
}

function openNewPassionInput() {
	if($('#Passion').css('display')=='inline') {
		$('#Passion').hide();
		$('#PassionSaveButton').hide();
		$('#PassionEditButton').html('Добавить раздел');
	}
	else {		
		$('#Passion').show()
		$('#PassionSaveButton').show();
		$('#PassionEditButton').html('Скрыть');
	}
}

function saveNewPassion() {
	var value = $('#Passion').val();
	$.post('/actions/update/profile', {'append_passion':1, 'passion_id':value}, 
		   function (data) {
			  $('#Interests').html(data);
		}
		);
}

function openEditPassionInput(id) {
	if($('#PassionOriginal_'+id).css('display')=='none') {
		$('#PassionOriginal_'+id).show();
		$('#PassionEdited_'+id).hide();
		$('#PassionSave_'+id).hide();
	}
	else {
		$('#PassionOriginal_'+id).hide();
		$('#PassionEdited_'+id).show();
		$('#PassionSave_'+id).show();
	}
}

function savePassionContent(id,action) {
	$.post('/actions/update/profile', {'edit_passion':1, 'passion_id':id, 'action':action,'passion_content':$('#PassionEdited_'+id).val()}, 
		   function (data) {
			   $('#Interests').html(data);
		}
		);
}

//надо запросить друга
function requestFriend(id) {
	$.post('/actions/requestfriend', {requested_id:id}, 
		   function (data) {
			   $('#RequestFriend').html(data);
	});
}

function approveFriend(id, action) {
	$.post('/actions/approvefriend', {friend_id:id, action_type:action}, 
		   function (data) {
			   $('#NewFriends').html(data);
	});
}

function removeFriend(id, pageNumber) {
	$.post('/actions/removefriend', {friend_id:id, pageNumber:pageNumber}, 
		   function (data) {
			   $('#Friends').html(data);
	});
}

function addCriminal(id) {
	$.post('/actions/addcriminal', {user_id:id}, 
		   function (data) {
			   $('#ToCriminal').html(data);
	});
}
function removeCriminal(id) {
	$.post('/actions/removecriminal', {user_id:id}, 
		   function (data) {
			   $('#Friends').html(data);
	});
}

/**
* Функция предназначена для отображения и скрытия всех элементов редактирования
* @param prefix - Массив префиксов, используется для скрытия элемента с текстом и отображения элемента редактирования. 
*
**/
var OpenEditName = '';
function openEditI(prefixes, editSaveButtonRpefix) {
	var openEditButton = $('#'+editSaveButtonRpefix+'OpenEdit');
	
	if(openEditButton.attr('rel')!='hide') {
		//OpenEditName = openEditButton.html();
		$('#'+editSaveButtonRpefix+'OpenEdit').attr('rel', 'hide');
		for(var i = 0; i < prefixes.length; i++) {
			var prefix = prefixes[i];
			$('#'+prefix+'Original').hide();
			$('#'+prefix+'Editable').show();
		}
	}
	else {
		$('#'+editSaveButtonRpefix+'OpenEdit').attr('rel', 'show');
		for(var i = 0; i < prefixes.length; i++) {
			var prefix = prefixes[i];
			$('#'+prefix+'Original').show();
			$('#'+prefix+'Editable').hide();
		}
	}
	$('#'+editSaveButtonRpefix+'Save').toggle();
}


function saveFieldI(prefixes, url, container_id, editSaveButtonRpefix, code) {
	var data = '';	
	for(key in prefixes) {
		var elem = $('#'+prefixes[key]+'Editable');
		if(!(elem.is(':checkbox') && !elem.attr('checked'))) {
			data += elem.attr('name')+'='+elem.val()+'&';
		}
		//alert($('#'+prefixes[key]+'Editable').nodeType+" = "+$('#'+prefixes[key]+'Editable').checked+$('#'+" " +prefixes[key]+'Editable').attr('checked'));
		
	}
	$.post(url, data, function (data) {
		if(container_id) {
			$('#'+container_id).html(data);
		}
		if(code) eval(code);
	});
}
function decrementCommentsCount(photoID) {
	for(var i = 0; i< photos.length;i++) {
			if(photos[i].id==photoID) {
				photos[i].comments_count--;
				break;
			}
		}
}
function incrementCommentsCount(photoID) {
	for(var i = 0; i< photos.length;i++) {
			if(photos[i].id==photoID) {
				photos[i].comments_count++;
				break;
			}
		}
}
function updatePhotosList(action, id) {
	if(action=='rename') {
		for(var i = 0; i< photos.length;i++) {
			if(photos[i].id==id) {
				photos[i].title = $('#PhotoEditable').val();
				break;
			}
		}
	}
	if(action=='delete') {
		for(var i = 0; i< photos.length; i++) {
			if(photos[i].id==id) {
				delete photos[i];
				
				$('img[num='+id+']').attr('src', '/data/images/nophoto_small.jpg');
				break;
			}
		}
		var na = new Array();
		var i = 0;
		for(key in photos) {
			na[i++] = photos[key];
		}
		photos = na;
	}
	if(action == 'increment') {
		incrementCommentsCount(id);
	}
	if(action == 'decrement') {
		decrementCommentsCount(id);
	}
}
function choseImage(image) {
	$('.imgFr img').removeClass('selectedImage');
	$(image).addClass('selectedImage');
	var id = image.getAttribute('num');
	var photo = null;
	for(key in photos) {
		if(photos[key].id==id) {
			photo = photos[key]
			break;
		}
	}
	//а теперь перенесём все параметры изображения на основную страницу:
	$('#MainPhoto').attr('src', image.src.replace('small_', 'big_'));
	$('#PhotoOriginal').html(photo.title);
	$('#PhotoEditable').val(photo.title);
	$('#PhotoIDEditable').val(photo.id);
	$('.deletePhoto').show();
	
	$.post('/actions/photocomments', {id:photo.id, album_id:album.id}, function (data) {
		$('#Comments').html(data);
	})
}

function photosSwitchPage(current) {
	if(typeof(current)=='object') {
		var parent = current.parentNode;
		for(var i = 0; i < parent.childNodes.length; i++) {
			var a = parent.childNodes[i];
			//alert(i+': '+a.nodeName);
			//сбросим все выделения и всё спрячем
			if(a.nodeName.toLowerCase()=='a') {
				a.setAttribute('class', '');
				a.style.display = 'none';
			}
		}
		current.setAttribute('class', 'sell');
		current.style.display = 'inline';
		
		currentPage = parseInt(current.getAttribute('num'));
	}
	else {
		currentPage = current;
	}
	
	var table = document.getElementById('PhotosTable');
	var tdArray = table.getElementsByTagName('td');
	$('#PhotosTable td').hide();
	for(var i = currentPage*paginator.onPage; i< (currentPage+1)*paginator.onPage && photos[i]; i++) {		
		var tdIndex = i - currentPage*paginator.onPage;
		if(tdArray[tdIndex]) {
			var imgArray = tdArray[tdIndex].getElementsByTagName('img');
			var aArray = tdArray[tdIndex].getElementsByTagName('a');
			var spanArray = tdArray[tdIndex].getElementsByTagName('span');
			var img = imgArray[0];
			var a = aArray[0];
			var span = spanArray[0];
			img.src = '/u'+pageOwner['id']+'/media/photo/'+photos[i].id+'small_'+photos[i].image;
			a.innerHTML = photos[i].title;
			a.setAttribute('href', '/users/'+pageOwner.login +'/media/albums/'+album.id+'/'+photos[i].id);
			a.setAttribute('num', photos[i].id);
			img.style.border = '1px solid #808080';
			img.setAttribute('num', photos[i].id);
			span.innerHTML = photos[i].comments_count + ' комментариев';
			tdArray[tdIndex].style.display = 'table-cell';
		}
	}
	paginator.currentPage = currentPage;
	//отобразим теперь пагинатор
	//есть ли в массиве фоток фотки на след. странице?
	var start = (currentPage+1)*paginator.onPage;
	if(typeof(current)=='object') {
	if(current.previousSibling && (current.previousSibling.nodeName.toLowerCase()=='a')) {
		current.previousSibling.style.display = 'inline';
		if(current.previousSibling.previousSibling && current.previousSibling.previousSibling.nodeName.toLowerCase()=='a') {current.previousSibling.previousSibling.style.display = 'inline';}
		}
	
	if(current.nextSibling && photos[start]) {
		current.nextSibling.style.display = 'inline';
		if(current.nextSibling.nextSibling && photos[start+paginator.onPage]) {current.nextSibling.nextSibling.style.display = 'inline';}
		}
	}
	
}

//---------------CROP IMAGE---------------
function changeEditableImage(prefix) {
	$('#small_preview').parent().css('border', 'none');
	$('#mid_preview').parent().css('border', 'none');
	$('#'+prefix+'_preview').parent().css('border', '1px solid black');
	$('#'+prefix+'_preview').parent().css('margin-bottom', '10px');		
	$('#cropNote').css('visibility', 'visible');
	gl_prefix = '#'+prefix+'_preview';
	
	//установим нормлаьные размеры для дива, который обрамляет картинку с превью
	var img = new Image();
	img.src = $('#'+prefix+'_preview').attr('src');
	$('#'+prefix+'_preview').parent().css('width', img.width+'px');		
	$('#'+prefix+'_preview').parent().css('height', img.height+'px');		
}

function saveCrop() {
	var data = 'small[x]='+smallImage.x+'&small[y]='+smallImage.y+'&small[x2]='+smallImage.x2+'&small[y2]='+smallImage.y2;
	data +='&mid[x]='+midImage.x+'&mid[y]='+midImage.y+'&mid[x2]='+midImage.x2+'&mid[y2]='+midImage.y2;
	$.post('/actions/savecrop', data, function (data) {alert(data);})
}

function nothing(e)
{
	e.stopPropagation();
	e.preventDefault();
	return false;
};
//Our simple event handler, called from onChange and onSelect
// event handlers, as per the Jcrop invocation above
function showPreview(coords)
{
	if (parseInt(coords.w) > 0)
	{					

		var recSize = $(gl_prefix).attr('recsize');
		$('#midSave').show();
		var width = recSize;
		var height = recSize;
		if(coords.h >= coords.w) {
			width = recSize * coords.w / coords.h;
			height = recSize;												 						
		}
		else {
			width = recSize;
			height = recSize * coords.h / coords.w;
		}

		var rx = width / coords.w;
		var ry = height / coords.h;
					
		var img = new Image();
		img.src = $('#cropbox').attr('src');
		$(gl_prefix).attr('src', img.src);
					
		var imgWidth = img.width;
		var imgHeight = img.height;		

		if(gl_prefix=='#mid_preview') {
			midImage.x = coords.x;
			midImage.y = coords.y;
			midImage.x2 = coords.x2;
			midImage.y2 = coords.y2;
		}
		else {
			smallImage.x = coords.x;
			smallImage.y = coords.y;
			smallImage.x2 = coords.x2;
			smallImage.y2 = coords.y2;
		}
															
					
		$(gl_prefix).parent().css('width', Math.round(width));
		$(gl_prefix).parent().css('height', Math.round(height));
						
		jQuery(gl_prefix).css({
			width: Math.round(imgWidth * rx) + 'px',
			height: Math.round(imgHeight * ry) + 'px',
			marginLeft: '-' + Math.round(rx * coords.x) + 'px',
			marginTop: '-' + Math.round(ry * coords.y) + 'px'
		});
	}
}
//--------------------------------------------------------------------

//-------------------валидация формы----------------------------------
function validateForm(form, errorClassName) {
	var inputs = form.getElementsByTagName('input');
	var textareas = form.getElementsByTagName('textarea');
	var error = 0;
	
	for(var i = 0; i < inputs.length; i++) {
		if(inputs[i].getAttribute('requiredd') && (inputs[i].value.length==0)) {
			var className = inputs[i].getAttribute('class')?inputs[i].getAttribute('class'):'';
			inputs[i].className = className.replace(errorClassName, '')+' '+errorClassName;
			inputs[i].onkeyup = function () {
				if(this.value.length!=0) {
					this.className = this.getAttribute('class').replace(errorClassName, '');
				}
				else {
					this.className = this.getAttribute('class') + ' ' +errorClassName;
				}
			}
			var validName = inputs[i].getAttribute('validname');
			alert('Поле "'+validName+'" оставлено пустым :(');
			inputs[i].focus();
			return false;
			error = 1;
		}
	}
	for(var i = 0; i < textareas.length; i++) {		
		if(textareas[i].getAttribute('requiredd') && (textareas[i].value.length==0)) {
			var className = textareas[i].getAttribute('class')?textareas[i].getAttribute('class'):'';
			textareas[i].className = className.replace(errorClassName, '')+' '+errorClassName;
			var validName = textareas[i].getAttribute('validname');
			alert('Поле "'+validName+'" оставлено пустым :(');
			textareas[i].focus();
			return false;
			error = 1;
		}
	}
	
	if(error) {
		alert('Введите, пожалуйста, все необходимые поля.');
	}
	return !error;
}

function openCloseFolder(id) {
	$('.list_'+id).toggle();
	if($('#Folder_'+id).attr('class')=='folder') {
		$('#Folder_'+id).attr('class', 'folder_open');
	}
	else {
		$('#Folder_'+id).attr('class', 'folder');
	}
}

function processCheckLoginResponse(response) {
	if(response != 'OK') {
		alert(response);
		$('#Login').focus();
	}
	else {
		$('#RegistrationForm').submit();
	}
}
function registrationValidation() {
	var form = $('#FormValidation');
	var inputs = $(':input');
	var mailRegex = /[-0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,3}/;
	var loginRegex = /[\d\w_-]+/;
	$('#ErrorReg').find('div').html('');
	$('#ErrorReg').hide();
	for(var i = 0; i < inputs.length; i++) {
		var input = $(inputs[i]);
		if(input.attr('required')) {
			if(input.val().length==0 || input.val().match(/^Логин$|^Пароль$/i)) {
				var message = 'Некорректно введено поле «'+input.attr('alias')+'»';
				$('#ErrorReg').find('div').html(message);
				$('#ErrorReg').show();
				
				input.bind('keyup', function () {
					if(this.value.length > 0 && !this.value.match(/^Логин$|^Пароль$/i)) {$(this).removeClass('errInput')} else {$(this).addClass('errInput')}
				});
				input.addClass('errInput');
				input.focus();
				return false;
			}
			if(input.attr('name')=='login' && !loginRegex.test(input.val())) {
				var message = 'Некорректно введено поле "'+input.attr('alias')+'" = '+input.val();
				$('#ErrorReg').find('div').html(message);
				$('#ErrorReg').show();
				input.bind('keyup', function () {
					if(this.value.match(loginRegex)) {$(this).removeClass('errInput');} else {$(this).addClass('errInput');}
				});
				input.addClass('errInput');
				input.focus();
				return false;
			}
			if(input.attr('mask')=='email' && !mailRegex.test(input.val())) {
				var message = 'Некорректно введено поле "'+input.attr('alias')+'" = '+input.val();
				$('#ErrorReg').find('div').html(message);
				$('#ErrorReg').show();
				input.bind('keyup', function () {
					if(this.value.match(/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/)) {$(this).removeClass('errInput')} else {$(this).addClass('errInput')}
				});
				input.addClass('errInput');
				input.focus();
				return false;
			}
		}
	}
	var pass_1 = $('#Pass_1');
	var pass_2 = $('#Pass_2');
	if(pass_1.val() != pass_2.val()) {
		alert('Введённые пароли не сходятся');
		pass_1.focus();
		return false;
	}
	var login = $('#Login');
	$.post('/actions/checklogin', {login:login.val()}, function (data) {processCheckLoginResponse(data);})
}