﻿var MANDATORY_MESSAGE = " - obligatoriu";
var INCORRECT_MESSAGE = " - incorect";
var MINIM_MESSAGE = " - minim 5 caractere";

var bValidDate = true; 
var birthDate = '';

function Register()
{	
	var valid = true;
	
	//email
	var email = $('#ctl00_content_register_email').val();
	if (email == '')		//empty field
	{
		$('#span_email').addClass("error");
		$('#span_email label small').text(MANDATORY_MESSAGE);
		valid = valid && false;
	}
	else if (!TestEmail(email))		//incorrect email
	{
		$('#span_email').addClass("error");
		$('#span_email label small').text(INCORRECT_MESSAGE);
		valid = valid && false;
	}
	else
	{
		$('#span_email').removeClass("error");
		$('#span_email label small').text('');		
		valid = valid && true;
	}

	//password
	var password = $('#ctl00_content_register_password').val();
	if (password == '')		//empty field
	{
		$('#span_password').addClass("error");
		$('#span_password label small').text(MANDATORY_MESSAGE);
		valid = valid && false;
	}
	else if (password.length < 5)		//password length
	{
		$('#span_password').addClass("error");
		$('#span_password label small').text(MINIM_MESSAGE);
		valid = valid && false;
	}
	else
	{
		$('#span_password').removeClass("error");
		$('#span_password label small').text('');
		
		var PWD = top['aes'].U(password);
		$('#ctl00_content_register_password').val(PWD);
		
		valid = valid && true;
	}

	//confirm password
	var confirm_password = $('#ctl00_content_register_confirm_password').val();
	if (confirm_password == '')		//empty field
	{
		$('#span_confirm_password').addClass("error");
		$('#span_confirm_password label small').text(MANDATORY_MESSAGE);
		valid = valid && false;
	}
	else if (confirm_password != password)	//incorrect confirm
	{
		$('#span_confirm_password').addClass("error");
		$('#span_confirm_password label small').text(INCORRECT_MESSAGE);
		valid = valid && false;
	}
	else
	{
		$('#span_confirm_password').removeClass("error");
		$('#span_confirm_password label small').text('');
		
		var CPWD = top['aes'].U(confirm_password);
		$('#ctl00_content_register_confirm_password').val(CPWD);
		
		valid = valid && true;
	}

	//first name
	var firstName = $('#ctl00_content_register_first_name').val();
	if (firstName == '')		//empty field
	{
		$('#span_first_name').addClass("error");
		$('#span_first_name label small').text(MANDATORY_MESSAGE);
		valid = valid && false;
	}
	else
	{
		$('#span_first_name').removeClass("error");
		$('#span_first_name label small').text('');
		valid = valid && true;
	}

	//last name
	var lastName = $('#ctl00_content_register_last_name').val();
	if (lastName == '')		//empty field
	{
		$('#span_last_name').addClass("error");
		$('#span_last_name label small').text(MANDATORY_MESSAGE);
		valid = valid && false;
	}
	else
	{
		$('#span_last_name').removeClass("error");
		$('#span_last_name label small').text('');
		valid = valid && true;
	}

	//birthdate  
	if (!bValidDate)		//bValidDate was previously set by VaidateDate if any date other than 01.01.1900 was selected
	{
		$('#span_birthdate').addClass("error");
		$('#span_birthdate label small').text(INCORRECT_MESSAGE);
		valid = valid && false;
	}
	else
	{
		if (birthDate == '')	//user left the date 01.01.1900 - onchange wasn't fired
		{
			var dateArr = [];

			option = $('#ctl00_content_birth_year option:selected');
			dateArr.push(option.val());

			option = $('#ctl00_content_birth_month option:selected');
			dateArr.push(option.val());

			var option = $('#ctl00_content_birth_day option:selected');
			dateArr.push(option.val());

			birthDate = dateArr.join('-');
		}

		$('#span_birthdate').removeClass("error");
		$('#span_birthdate label small').text('');
		valid = valid && true;				
	}
		
	//phone
	var phone = $('#ctl00_content_register_phone').val().replace(/[^0-9]/gi, '');	
	$('#ctl00_content_register_phone').val(phone);

	if (phone == '')		//empty field
	{
		$('#span_phone').addClass("error");
		$('#span_phone label small').text(MANDATORY_MESSAGE);
		valid = valid && false;
	}
	else if (phone.length < 10)		//empty field
	{
		$('#span_phone').addClass("error");
		$('#span_phone label small').text(INCORRECT_MESSAGE);
		valid = valid && false;
	}
	else
	{
		$('#span_phone').removeClass("error");
		$('#span_phone label small').text('');		
		valid = valid && true;
	}

	//confirmation code
	var confirmationCode = $('#ctl00_content_confirmation_code').val();
	if (confirmationCode == '')		//empty field
	{
		$('#span_confirmation_code').addClass("error").addClass("errorCaptcha");
		valid = valid && false;
	}
	else
	{
		$('#span_confirmation_code').removeClass("error errorCaptcha");
		$('#span_confirmation_code label small').text('');
		valid = valid && true;		
	}
		
	//terms & conditions
	if ($('#ctl00_content_register_terms').attr('checked'))
	{
		$('#span_terms').removeClass("error");		
		valid = valid && true;
	}
	else
	{
		$('#span_terms').addClass("error");
		valid = valid && false;
	}

	return valid;
}

function OnRegisterComplete(backLink)
{		
	//show register success box
	$("#navUser .boxRegisterDone").html('<div>Contul tau a fost creat, urmeaza sa-l activezi.</div>Verifica-ti adresa de email pentru activarea contului. Nu uita sa verifici primirea email-ului si in Spam sau Bulk.');		
	$("#navUser .boxLogin, #navUser .boxForgotPass").css("display", "none");
	$("#navUser .boxRegisterDone").css("display", "block");
	$("#navUser .boxRegisterDone").delay(5000, function()
	{
		$(this).fadeOut();
		$("#navUser .linkRegister").removeClass("activ");		
		window.location = backLink;
	});	
}

function OnValidateDateComplete(status)
{
	if (status)
		bValidDate = true;
	else
		bValidDate = false;
}

function ValidateDate()
{
	var dateArr = [];

	option = $('#ctl00_content_birth_year option:selected');
	dateArr.push(option.val());

	option = $('#ctl00_content_birth_month option:selected');
	dateArr.push(option.val());

	var option = $('#ctl00_content_birth_day option:selected');
	dateArr.push(option.val());

	birthDate = dateArr.join('-');

	$pusher.Call('DOB', birthDate);
}

function ValidateCaptcha()
{
	$pusher.Call('CAPTCHA', $('#ctl00_content_confirmation_code').val());
}

function RegisterEnterSubmit(e)
{
	var keycode;

	if (window.event)
		keycode = window.event.keyCode;
	else if (e)
		keycode = e.which;

	if (keycode == 13)
	{
		Register();
		return false;
	}
	else
		return true;
}

function RebuildCaptcha(id)
{
	$pusher.Call('CAPTCHA_REBUILD', id);
}

function OnRebuildCaptcha(cID)
{
	var src = $('#' + cID).attr('src');
	var new_src = src.substr(0, src.indexOf('cacheBuster')) + 'cacheBuster=' + parseInt(Math.random() * Math.pow(10, 17));
	$('#' + cID).attr('src', new_src);
	$('#ctl00_content_confirmation_code').select();
}
