﻿/// <reference path="jQuery/jquery-1.3.2-vsdoc2.js" />

/// set the icon to tick or cross depending on isOk
function SetValidationIcon(isOk, iconId) {
	var imgSrc;
	if (isOk) {
		imgSrc = 'images/form_tick.png';
	}
	else {
		imgSrc = 'images/form_cross.png';
	}
	$('#' + iconId).attr('src', imgSrc);
}

function Username_ClientValidate(source, arguments) {
	arguments.IsValid = CheckUserName();
}

function CheckUserName() {
	var username = $('.username_field').val();
	if (username == '') return true; // return true if blank - required validator will get it

	var isOk = false;
	$.ajax({
		type: 'GET',
		url: 'services/check_username.aspx',
		dataType: 'json',
		cache: false,
		data: { u: username },
		async: false,
		success: function(data) {
			isOk = (data && data.response == 'OK');
			SetValidationIcon(isOk, 'usernameValidation')
		}
	});
	return isOk;
}

function CheckEmail() {
	CheckEmailForm();
	CheckEmailAvailable();
}

function EmailForm_ClientValidate(source, arguments) {
	arguments.IsValid = CheckEmailForm();
}

function CheckEmailForm() {
	var email = $('.email_field').val();
	if (email == '') return true; // return true if blank - required validator will get it
	
	var isOk = email.match(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/)
	SetValidationIcon(isOk, 'emailValidation');
	return isOk;
}

function EmailAvailable_ClientValidate(source, arguments) {
	arguments.IsValid = CheckEmailAvailable();
}

function CheckEmailAvailable() {
	var email = $('.email_field').val();
	if (email == '') return true; // return true if blank - required validator will get it

	var isOk = false;
	$.ajax({
		type: 'GET',
		url: 'services/check_email.aspx',
		dataType: 'json',
		cache: false,
		data: { e: email },
		async: false,
		success: function(data) {
			isOk = (data && data.response == 'OK');
			SetValidationIcon(isOk, 'emailValidation')
		}
	});
	return isOk;
}

function ConfirmEmail_ClientValidate(source, arguments) {
	arguments.IsValid = CheckConfirmEmail();
}

function CheckConfirmEmail() {
	var email = $('.email_field').val();
	var confirmemail = $('.confirmemail_field').val();
	var isOk = (email == confirmemail)
	SetValidationIcon(isOk, 'confirmEmailValidation');
	return isOk;
}

function ConfirmPassword_ClientValidate(source, arguments) {
	arguments.IsValid = CheckConfirmPassword();
}

function CheckConfirmPassword() {
	var password = $('.password_field').val();
	var confirmpassword = $('.confirmpassword_field').val();
	var isOk = (password == confirmpassword)
	SetValidationIcon(isOk, 'confirmPasswordValidation');
	return isOk;
}


