
var refreshPopUp = false; //refreshes popup on close action
var cabinetUrl = '/users/cabinet';
var toMyCabinet = false;
var loginUrl = '/users/login';
$(document).ready(function(){

//	$('.take-part-btn').click(function(){
//		alert('dsfdsf');
//		return showUserDataPopUp();
//	});
	
//	var options = {
//		url:		'/users/setCcardData',
//		beforeSubmit: validateCcardData,
//		success:	function() {
//			alert('Thanks for your comment!');
//		}
//	}
//	$('#user-data-form').ajaxSubmit(options);
	
	//processing login
	$('.login-form').submit(function(){
		$('#login-error').hide();
		
		if($(this.uemail).val() != '' && $(this.upassword).val() != ''){
			data = {
				email: $(this.uemail).val(),
				password: $(this.upassword).val()
			}
			$.post(loginUrl, data , function(result){
				if(result.validated == false){
					$('#login-error').show();
				}else{
					if(toMyCabinet == true){
						window.location = cabinetUrl;
					}else{
						location.reload(true);
					}
				}
				
			}, 'json');
		}
		return false;
	});

	$('#cabinet-login').click(function(){
		toMyCabinet = false;
		showRegPopUp();
		return false;
	});
	$('#cabinet-login2').click(function(){
		toMyCabinet = false;
		showRegPopUp();
		return false;
	});
	$('#lad-link').click(function(){
		toMyCabinet = false;
		showRegPopUp();
		return false;
	});
	$('#lad-link2').click(function(){
		toMyCabinet = false;
		showRegPopUp();
		return false;
	});

	$('.close-popup').click(function(){
		hideAuthPopUp();
		return false;
	});
	
	$.validator.addMethod("equalPass", function() {
		return $("#password").val() === $("#sf").val();
	}, "Пароли не совпадают");

//	$.validator.addMethod("validateCaptchas", function() {
//		var userCaptcha = $('#user-captcha').val();
//		var validated = false;
//
//		$.get("/users/validateCaptcha/" + userCaptcha, function(data){
//			if(data != 'true'){
//				//refresh captcha
//				$('#user-captcha').val('');
//				$('#capt').html(data);
//			}else{
//				validated = true;
//			}
//		});
//		return validated;
//	}, "Неверный код!");
	$('#reg-form').validate({rules: {
							 // simple rule, converted to {required:true}
							 nickname: "required",
							 password: {required: true, minlength: 6},
							 sf: {required: true , equalPass: true },
							 email: {required: true, email: true },
							 captcha: {required: true}
							}, errorElement: "p", errorClass: "input-error",
							messages: {
								nickname:"Введите свой ник",
								password:{required:'Введите пароль', minlength:'Минимум 6 символов'},
								email: {required: 'Введите адрес', email: 'Неверный адрес!'},
								sf: {required: 'Подвердите пароль'},
								captcha: {required: 'Введите код'}
							}, submitHandler: function(form){ registerProcess(form);}
	});
	return false;
});
function registerProcess(form)
{
	//alert($(form.nickname).val());
	var regUrl = '/users/register';
	var uData = {
		//requies additional sever validation
		nickname:$(form.nickname).val(),
		email:$(form.email).val(),
		captcha:$(form.captcha).val(),
		//if user simulate confirming his own password(really dumb :) ) it`s not important for us
		password:$(form.password).val()
	}
	//alert('and we send it!');
	//send form data
	$.post(regUrl, uData , function(data){
		
		if(data.validated != true){
			if(data['email'] == 'failed'){
				$('#email').after('<p class="input-error">mail уже зарегистрирован!</p>');
			}
			if(data['nickname'] == 'failed'){
				$('#nickname').after('<p class="input-error">Ник уже зарегистрирован!</p>');
			}
			if(data['captcha'] == 'failed'){
				//refresh captcha
				var rand = Math.round(new Date().getTime()/1000);
				$.get('/users/getCaptcha/' + rand, function(img){
					$('#img-capt').remove();
					$('#capt').after(img);
				});
				//type error text
				$('#user-captcha').after('<p class="input-error">Неправильный код!</p>');
			}
//			for(var key in data){
//				if(data[key] == 'failed'){//set the error message
//
//				}
//				alert(data[key]);
//			}
			//alert(data.email);
		}else if(data.validated == true){
			refreshPopUp = true;
			$('.login-body').html('<h2>Регистрация</h2>\n\
									<p>Спасибо, ваши данные приняты. \n\
										Для завершения регистрации необходимо перейти по ссылке, \n\
										которую вы получите на указанный вами email.</p>'
								);
		}else{
			window.location = '/';
		}
		return false;
	}, 'json');
	return false;
//	alert('succesfully vlidated' + fm.id);
}
function validateRegistration(formId){
	$(formId).each(function(){ alert(this.id) });
}

function hideAuthPopUp()
{
	$('.popup-login-outer').fadeOut();
	var css = {
		position:'static',
		minHeight: 'auto',
		height: 'auto',
		minWidth:'988px'
	}
	$('.wrapper').css(css);
	if(refreshPopUp == true){
		location.reload(true);
	}
}

function openMeasure()
{
	//var url ='/measures/article/';
	$('.article-link').click(function(){
		$.get(this.href, function(data){
			$('.events-main-column').addClass('article');
			$('.events-main-column').html(data);
			//alert(data);
		});
		return false;
	});
}
function showCaptcha(tag)
{
	var rand = Math.round(new Date().getTime()/1000);
	$(tag).load('/users/getCaptcha/'+ rand );
}
function showRegPopUp()
{
	showCaptcha('#capt');
//	$('.popup-login-outer').slideDown('slow');
	var css = {};

	if( jQuery.browser.version == 6.0 ){
		css = {
			position:'relative',
			minHeight: '100%',
			height: 'auto !important',
			height: '100%'
		}
	}else{
		css = {
			position:'relative',
			minHeight: '100%'
			//height: 'auto !important'
		}
	}
	$('.wrapper').css(css);
	$('.popup-login-outer').slideDown('slow');
}

function showFaqAnswer(id, collapsible)
{
	id = 'faq_' + id;
	if(collapsible == true){
		if($('#'+id).css('display') == 'block'){
//			if(jQuery.browser.msie == true)
//				$('#'+id).hide('fast');
//			else
				$('#'+id).hide('fast');
		}
		else
			$('#'+id).slideDown();
	}else{
		$('#'+id).slideDown();
	}
	return false;
}

function isDefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}


