/*
 * User functions
 */

/*
 * Updates the zones
 * when changing the country
 */
function updateZones(country_id)
{
	$.getJSON(zonesStoreUrl, {country_id: country_id}, function(data)
	{
		var options = '<option value="">' + selectLabel + '</option>';
		for(var i = 0; i < data.items.length; i++)
		{
			options += '<option value="' + data.items[i].zone_id + '">' + data.items[i].name + '</option>';
		}
		$('#zone_id').html(options).selectOptions(zone_id);
	});
}

var crossImage = '<img src="' + imageBaseUrl + '/interface/icons/cross.png" />';
var tickImage = '<img src="' + imageBaseUrl + '/interface/icons/tick.png" />';

var bUserLoginOk = true;
var bUserPassword1Ok = true;
var bUserPassword2Ok = true;
var bUserEmail1Ok = true;
var bUserEmail2Ok = true;
var bUserCountryOk = true;
var bUserCaptchaOk = true;

$(document).ready(function()
{
	var country_id = $('#country_id').val();
	if(country_id && country_id.length)
	{
		updateZones(country_id);
	}
	
	$('#user_sLogin').blur(function()
	{
		var image = '';
		var user_sLogin = $('#user_sLogin').val();
		
		if(user_sLogin.length)
		{
			$.get(userCheckAvailability, {user_sLogin: user_sLogin}, function(data)
			{
				if(data == 1)
				{
					bUserLoginOk = false;
					image = crossImage;
					$('#user_sLogin').css('background-color', '#F9F7BA');
				}
				else
				{
					bUserLoginOk = true;
					image = tickImage;
					$('#user_sLogin').css('background-color', '#FFFFFF');
				}
				if($('#loginTickContainer').length)
				{
					$('#loginTickContainer').html(image);
				}
				else
				{
					$('#user_sLogin').after('<span id="loginTickContainer">' + image + '</span>');
				}
			});
			
		}
		else
		{
			bUserLoginOk = false;
			image = crossImage;
			$('#user_sLogin').css('background-color', '#F9F7BA');
			if($('#loginTickContainer').length)
			{
				$('#loginTickContainer').html(image);
			}
			else
			{
				$('#user_sLogin').after('<span id="loginTickContainer">' + image + '</span>');
			}
		}
	});
	
	$('#user_sLoginNew').blur(function()
	{
		var image = '';
		var user_sLogin = $('#user_sLoginNew').val();
		
		if(user_sLogin.length)
		{
			$.get(userCheckAvailability, {user_sLogin: user_sLogin}, function(data)
			{
				if(data == 1)
				{
					bUserLoginOk = false;
					image = crossImage;
					$('#user_sLoginNew').css('background-color', '#F9F7BA');
				}
				else
				{
					bUserLoginOk = true;
					image = tickImage;
					$('#user_sLoginNew').css('background-color', '#FFFFFF');
				}
				if($('#loginTickContainer').length)
				{
					$('#loginTickContainer').html(image);
				}
				else
				{
					$('#user_sLoginNew').after('<span id="loginTickContainer">' + image + '</span>');
				}
			});
			
		}
		else
		{
			bUserLoginOk = true;
			$('#user_sLoginNew').css('background-color', '#FFFFFF');
			if($('#loginTickContainer').length)
			{
				$('#loginTickContainer').html('');
			}
			else
			{
				$('#user_sLoginNew').after('<span id="loginTickContainer"></span>');
			}
		}
	});
	
	$('#user_sPassword1').blur(function()
	{
		if(!bUpdate)
		{
			var image = '';
			var user_sPassword1 = $('#user_sPassword1').val();
			
			if((user_sPassword1.length >= 4) && (user_sPassword1.length <= 32))
			{
				bUserPassword1Ok = true;
				image = tickImage;
				$('#user_sPassword1').css('background-color', '#FFFFFF');
			}
			else
			{
				bUserPassword1Ok = false;
				image = crossImage;
				$('#user_sPassword1').css('background-color', '#F9F7BA');
			}
			
			if($('#password1TickContainer').length)
			{
				$('#password1TickContainer').html(image);
			}
			else
			{
				$('#user_sPassword1').after('<span id="password1TickContainer">' + image + '</span>');
			}
		}
	});
	
	$('#user_sPassword2').blur(function()
	{
		if(!bUpdate)
		{
			// now check that both passwords are ok
			if(bUserPassword1Ok && ($('#user_sPassword1').val() == $('#user_sPassword2').val()))
			{
				bUserPassword2Ok = true;
				image = tickImage;
				$('#user_sPassword2').css('background-color', '#FFFFFF');
			}
			else
			{
				bUserPassword2Ok = false;
				image = crossImage;
				$('#user_sPassword2').css('background-color', '#F9F7BA');
			}
			if($('#password2TickContainer').length)
			{
				$('#password2TickContainer').html(image);
			}
			else
			{
				$('#user_sPassword2').after('<span id="password2TickContainer">' + image + '</span>');
			}
		}
	});
	
	$('#user_sEmail1').blur(function()
	{
		var image = '';
		
		// check regexp
		if(/^[^@]+@.+\.[a-zA-Z0-9]{2,4}$/.test($('#user_sEmail1').val()))
		{
			bUserEmail1Ok = true;
			image = tickImage;
			$('#user_sEmail1').css('background-color', '#FFFFFF');
		}
		else
		{
			bUserEmail1Ok = false;
			image = crossImage;
			$('#user_sEmail1').css('background-color', '#F9F7BA');
		}
		if($('#email1TickContainer').length)
		{
			$('#email1TickContainer').html(image);
		}
		else
		{
			$('#user_sEmail1').after('<span id="email1TickContainer">' + image + '</span>');
		}
	});
	
	$('#user_sEmail2').blur(function()
	{
		// now check that both emails are ok
		if($('#user_sEmail1').val() == $('#user_sEmail2').val())
		{
			bUserEmail2Ok = true;
			image = tickImage;
			$('#user_sEmail2').css('background-color', '#FFFFFF');
		}
		else
		{
			bUserEmail2Ok = false;
			image = crossImage;
			$('#user_sEmail2').css('background-color', '#F9F7BA');
		}
		if($('#email2TickContainer').length)
		{
			$('#email2TickContainer').html(image);
		}
		else
		{
			$('#user_sEmail2').after('<span id="email2TickContainer">' + image + '</span>');
		}
	});
	
	$('#country_id').change(function()
	{
		var image = '';
		var country_id = $('#country_id').val();
		
		if(country_id.length)
		{
			updateZones(country_id);
			image = tickImage;
			bUserCountryOk = true;
		}
		else
		{
			image = crossImage;
			bUserCountryOk = false;
		}
		if($('#countryTickContainer').length)
		{
			$('#countryTickContainer').html(image);
		}
		else
		{
			$('#country_id').after('<span id="countryTickContainer">' + image + '</span>');
		}
	});
	
	$('#userCaptcha_sValue').blur(function()
	{
		var image = '';
		
		// check regexp
		if(/^[a-zA-Z0-9]{6}$/.test($('#userCaptcha_sValue').val()))
		{
			bUserCaptchaOk = true;
			image = tickImage;
			$('#userCaptcha_sValue').css('background-color', '#FFFFFF');
		}
		else
		{
			bUserCaptchaOk = false;
			image = crossImage;
			$('#userCaptcha_sValue').css('background-color', '#F9F7BA');
		}
		if($('#captchaTickContainer').length)
		{
			$('#captchaTickContainer').html(image);
		}
		else
		{
			$('#userCaptcha_sValue').after('<span id="captchaTickContainer">' + image + '</span>');
		}
	});
	
	$('#userRegister').submit(function()
    {
		if(!bUserLoginOk)
		{
			var offset = $("#user_sLogin").offset()
			$(window).scrollTop(offset.top - 150);
			return false;
		}
		else if(!bUserPassword1Ok || !bUserPassword2Ok)
		{
			var offset = $("#user_sPassword1").offset()
			$(window).scrollTop(offset.top - 150);
			return false;
		}
		else if(!bUserEmail1Ok || !bUserEmail2Ok)
		{
			var offset = $("#user_sEmail1").offset()
			$(window).scrollTop(offset.top - 150);
			return false;
		}
		else if(!bUserCountryOk)
		{
			var offset = $("#country_id").offset()
			$(window).scrollTop(offset.top - 150);
			return false;
		}
		else if(!bUserCaptchaOk)
		{
			var offset = $("#userCaptcha_sValue").offset()
			$(window).scrollTop(offset.top - 150);
			return false;
		}
    });

});

/*
 * Shows the popup
 * with the suspension form
 */
function showSuspensionDialog()
{
    $('#userSuspensionFormDialog').dialog({
    	autoOpen: false,
    	width: 700,
    	height: 400,
    	zIndex: 20
    });
    
    $("#userSuspensionFormDialog").dialog('open');
    
    $('#userSuspension_sEndDate').datepicker($.datepicker.regional[language])
	.datepicker('option', {showAnim: 'slideDown',dateFormat: 'yy-mm-dd'});
	
    $('#ui-datepicker-div').css('z-index','25');
    
	$('#userSuspension_sEndTime').timePicker();
}

/*
 * Closes the suspension form popup
 */
function closeSuspensionDialog()
{
	$("#userSuspensionFormDialog").dialog('close');
}