var SendLink = {
	url: 'services/SendLink.php',
	form_id: 'send_link_form',
	
	send: function()
	{
		if (this.validate())
		{
			alert(SendLink.url);
			new Ajax.Request(SendLink.url,{
				method: 'post',
				parameters: $(SendLink.form_id).serialize(true),
				onSuccess: function(transport)
				{
					//eval(transport.responseText);				
					console.log(transport.responseText);
				}
			});
		}
	},
	
	validate: function()
	{
		return true;
	}
};

var PasswordStrength = {
	
	minPasswordLength : 6,
	pinkColor : '#FF9999',
	grayColor : '#CCCCCC',
	texts : new Array("krátke","slabé","stredné","silné"),
		
	passwordChange : function(event)
	{
		var password = this.getValue();		
		
		var passwordStrength;		
		
		if (password.length < PasswordStrength.minPasswordLength)
		{
			passwordStrength = 0;
		}
		else
		{
			var hasLetters = password.match(/[a-zA-Z]+/);
			var hasNumbers = password.match(/[0-9]+/);
			var hasPunctuation = password.match(/[^a-zA-Z0-9]+/);
			var hasCasing = password.match(/[a-z]+.*[A-Z]+|[A-Z]+.*[a-z]+/);
			 
			passwordStrength = 0;
			if (hasLetters) passwordStrength++;
			if (hasNumbers) passwordStrength++;
			if (hasPunctuation) passwordStrength++;
			if (hasCasing) passwordStrength++;
			
			if (passwordStrength==4) passwordStrength=3;
		}
		
		$('password_strength').update(PasswordStrength.texts[passwordStrength]);
		
		$('password_image').setStyle({'width': (33*passwordStrength)+'%'});
		
		/*$$('.pass_str').each( 
			function(el, index)
			{
				if (index==passwordStrength)
				{
					el.setStyle({'backgroundColor': PasswordStrength.pinkColor});
				}
				else
				{
					el.setStyle({'backgroundColor': PasswordStrength.grayColor});
				}				
			}
		);*/		
	}	
};

var Register = {
		
	jsVar : '_da',
	formId : 'register_form',
	
	loginButton : 'login_free_button',
	loginResponse : 'login_free_response',
	loginFreeUrl : 'services/FreeLogin.php',

	nicknameButton : 'nickname_free_button',
	nicknameResponse : 'nickname_free_response',
	nicknameFreeUrl : 'services/FreeNickname.php',

		
	loginFree : function(login)
	{
		//console.log(Register.loginFreeUrl);
		//console.log(login);
		
		new Ajax.Request(Register.loginFreeUrl,{
			method : 'get',
			parameters : {'login': login},
			onSuccess: function(transport)
			{
				//console.log('response');
				var response;
				try 
				{
					eval(transport.responseText);
					eval('response='+Register.jsVar);
				}
				catch (error) {}
				
				if (response)
				{
					$(Register.loginResponse).update('Prihlasovacie meno <b>je voľné</b>');
				}
				else
				{
					$(Register.loginResponse).update('Prihlasovacie meno <b>je obsadené</b>, zvoľte si iné prosím');
				}					
			}
		});
	},

	nicknameFree : function(nickname)
	{
		new Ajax.Request(Register.nicknameFreeUrl,{
			method : 'get',
			parameters : {'nickname': nickname},
			onSuccess: function(transport)
			{
				var response;
				try 
				{
					eval(transport.responseText);
					eval('response='+Register.jsVar);
				}
				catch (error) {}
				
				if (response)
				{
					$(Register.nicknameResponse).update('Prezývka <b>je voľná</b>');
				}
				else
				{
					$(Register.nicknameResponse).update('Prezývka <b>je obsadená</b>, zvoľte si inú prosím');
				}					
			}
		});
	}		
};

Event.observe(window, 'load', function() {
	
	// posielanie linku mailom
	if ($(SendLink.id))
	{
		SendLink.validate = $(SendLink.id).onsubmit; 
		$(SendLink.id).onsubmit = null;
		Event.observe('frm'+SendLink.id+'-post_submit', 'click', function() { SendLink.send(); } );
	}
	
	// dlzka hesla
	$$('.password_length').each( function(el) 
		{			
			el.observe('keyup', PasswordStrength.passwordChange );			
		}
	);
	
	if ($(Register.loginButton))
	{		
		$(Register.loginButton).observe('click', function() { Register.loginFree($F('frm'+Register.formId+'-login')); });
	}
	if ($(Register.nicknameButton))
	{
		$(Register.nicknameButton).observe('click', function() { Register.nicknameFree($F('frm'+Register.formId+'-nickname')); } );
	}
});


