﻿/// <reference path="protoaculous.1.8.1.min.js" />

function _clearState(input, image) {
    Element.removeClassName(input, 'valid');
    Element.removeClassName(input, 'error');
    Element.removeClassName(input, 'working');
    Element.removeClassName(image, 'working');
    Element.removeClassName(image, 'sprite-icon');
    Element.removeClassName(image, 'sprite-tick');
    Element.removeClassName(image, 'sprite-minus_circle');

    image.title = '';
}

function _workingState(input, image) {
    _clearState(input, image);

    Element.addClassName(input, 'working');
    Element.addClassName(image, 'sprite-icon');
    Element.addClassName(image, 'working');
}

function _validState(input, image, msg) {
    _clearState(input, image);

    Element.addClassName(input, 'valid');
    Element.addClassName(image, 'sprite-icon');
    Element.addClassName(image, 'sprite-tick');

    image.title = (msg == null ? 'Valide' : msg);
}

function _errorState(input, image, msg) {
    _clearState(input, image);

    Element.addClassName(input, 'error');
    Element.addClassName(image, 'sprite-icon');
    Element.addClassName(image, 'sprite-minus_circle');

    image.title = msg;
}

function _isEmpty(v) {
    return ((v == null) || (v.length == 0) || /^\s+$/.test(v));
}

function _isEmail(v) {
    return /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v);
}

function _isAlphaNum(v) {
    return !/\W/.test(v);
}

function _isDate(v) {
    var regex = /^(\d{2})\/(\d{2})\/(\d{4})$/;

    if (!regex.test(v))
        return false;

    var d = new Date(v.replace(regex, '$2/$1/$3'));

    return (parseInt(RegExp.$2, 10) == (1 + d.getMonth())) && (parseInt(RegExp.$1, 10) == d.getDate()) && (parseInt(RegExp.$3, 10) == d.getFullYear());
}

var __invalidUsername = 'Votre nom d\'utilisateur ne peut contenir que des lettres et ou des chiffres';
var __validUsername = 'Ce nom d\'utilisateur est valide et disponible';
var __emptyUsername = 'Vous devez entrer un nom d\'utilisateur';
var __usedUsername = 'Ce nom d\'utilisateur est déjà utilisé';
var __emptyEmail = 'Vous devez entrer votre adresse email';
var __invalidEmail = 'Vous devez entrer une adresse email valide';
var __usedEmail = 'Cette adresse email est déjà utilisée sur Wollyhood';
var __validEmail = 'Cette adresse email est valide';
var __emptyPassword = 'Vous devez entrer un mot de passe';
var __validPassword = 'Votre mot de passe est valide';
var __emptyPasswordConfirmation = 'Vous devez confirmer votre mot de passe';
var __badPasswordConfirmation = 'La confirmation de votre mot de passe ne correspond pas';
var __validPasswordConfirmation = 'La confirmation de votre mot de passe correspond';
var __emptyBirthDate = 'Vous devez entrer votre date de naissance';
var __invalidBirthDate = 'Votre date de naissance doit être au format jj/mm/aaaa';
var __validBirthDate = 'Votre date de naissance est valide';

var __emptyFriendUsername = 'Vous devez entrer un nom';
var __invalidFriendUsername = 'Le nom ne peut contenir que des lettres et ou des chiffres'
var __validFriendUsername = 'Ce nom est valide ';
var __emptyFriendEmail = 'Vous devez entrer l\'adresse email';
var __invalidFriendEmail = 'Vous devez entrer une adresse email valide';
var __usedFriendEmail = 'Cette adresse email est déjà utilisée sur Wollyhood ou cette personne a déjà été invitée';
var __validFriendEmail = 'Cette adresse email est valide';