function doRegister(){
	var name = $("#name_register"),
	name_err = $("#name_register_err"),
	username = $("#username_register"),
	username_err = $("#username_register_err");
	var allFields = $([]).add(name).add(name_err).add(username).add(username_err);
	allFields.removeClass('ui-state-error');
	
	var allErrors = [name_err,username_err,$("#password_register_err"),$("#password2_register_err"),$("#email_register_err")];
	for(var i=0;i<allErrors.length;i++){
		allErrors[i].removeClass('ui-state-error');
		if(allErrors[i].html() !='<span class="ui-icon ui-icon-check" style="float:left;"></span>'){
			allErrors[i].html("");
		}
	}
	
	var bValid = true;
	bValid = bValid && checkLength(name,"nume complet",1,255,$("#name_register_err"));
	bValid = bValid && checkLength(username,"nume utilizator",1,255,$("#username_register_err"));
	if(bValid){
		checkExists(username_err,server_url_v2+"checkUsernameExists.php","user=" + Base64.encode(username.val()),'Nume utilizator',checkPass);
	}
	return false;
}
function checkPass(){
	var bValid = true;
	var password = $("#password_register"),
	password_err = $("#password_register_err"),
	password2_err = $("#password2_register_err"),
	password2 = $("#password2_register");
	var allFields = $([]).add(password).add(password2).add(password_err).add(password2_err);
	allFields.removeClass('ui-state-error');
	bValid = bValid && checkLength(password,"parola",1,255,$("#password_register_err"));
	bValid = bValid && checkLength(password2,"verificare parola",1,255,$("#password2_register_err"));
	if(bValid){
		bValid = checkEqual(password,password2,"Parola e diferita de verificare parola",password2_err);
	}
	if(bValid){
		checkEmail();
	}
}
function checkEmail(){
	var email = $("#email_register"),
	email_err = $("#email_register_err");
	var allFields = $([]).add(email).add(email_err);
	allFields.removeClass('ui-state-error');
	var bValid=true;
	if(!checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"ex: ana_maria@yahoo.com", email_err)){
		bValid=false;
	}else{
		allFields.removeClass('ui-state-error');
		checkExists(email_err,server_url_v2+"checkEmailExists.php","email=" + Base64.encode(email.val()),'Email',addCodeRegister);
	}
}
function checkExists(err,url,data,title,callback){
	err.html('<div class="spin_img"></div> Verificare '+title.toLowerCase()+'...');;
	$.ajax({
		type: "POST",
		data: data,
		url:url,
		success: function(msg){
			if(msg=="1"){
				err.addClass('ui-state-error');
				err.html('<span class="ui-icon ui-icon-alert" style="float:left;"></span>'+title+' indisponibil');;
			}else{
				err.removeClass('ui-state-error');
				err.html('<span class="ui-icon ui-icon-check" style="float:left;"></span>');
				setTimeout(callback);
			}
		}
	});
}
function sendActivationCode(email_val){
	$.ajax({
		type: "POST",
		data: "email="+Base64.encode($("#email_register").val()),
		url:server_url_v2+"sendActivationLink.php",
		success: function(msg){
			$("#canvas_content").html("<div class='text_page'><h1 class='with_separator2'>&#206;nregistrare</h1><div style='height:380px;'>Contul dumneavoastra a fost creat.<br />Un e-mail cu codul de activare al contului a fost trimis la adresa "+email_val+".<br />Va multumim si spor la cumparaturi</div></div>");
			document.getElementById("right_content_loading").style.display="none";
			document.getElementById("right_content").style.display="block";
		}
	});
}
function submitRegister(){
	var cb = $('#newsletter_register:checked').val() == "on"?1:0;
	var data="name="+Base64.encode($("#name_register").val())+"&un="+Base64.encode($("#username_register").val())+"&email="+Base64.encode($("#email_register").val())+"&password="+Base64.encode($("#password_register").val())+"&nl="+cb;
	document.getElementById("right_content_loading").style.display="block";
	document.getElementById("right_content").style.display="none";
	$.ajax({
		type: "POST",
		url: server_url_v2+"submitRegister.php",
		data: data,
		success: function(msg){
			sendActivationCode($("#email_register").val());
		}
	});
}
function addCodeRegister(){
	addCode("Protectie Antispam", 0, "checkCode(1)");
}
function checkCode(no){
	var challengeField = $("input#recaptcha_challenge_field").val();
	var responseField = $("input#recaptcha_response_field").val();
	var data="recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField;
	var code_err= $("#code_err");
	code_err.removeClass('ui-state-error');
	code_err.html('<div class="spin_img"></div> Verificare cod...');;
	$.ajax({
		type: "POST",
		url: server_url_v2+"checkCode.php",
		data: data,
		success: function(msg){
			if(msg!="0"){
				code_err.removeClass('ui-state-error');
				code_err.html('<span class="ui-icon ui-icon-check" style="float:left;"></span>');
				switch(no){
					case 1:
						submitRegister();
					break;
					case 2:
						submitActivationLink();
					break;
					case 3:
						submitSendAccountDetailes();
					break;
					case 4:
						doSendContactEmail();
					break;
					default:
						addComentAfterCheckCode(no);
					break;
				}
				$("#dialog").dialog('close');
				removeElement("dialog");
			}else{
				Recaptcha.reload();
				code_err.addClass('ui-state-error');
				code_err.html('<span class="ui-icon ui-icon-alert" style="float:left;"></span>Cod incorect');;
			}
		}
	});
}