// Fichier JScript
var CurrentUsername='';
function Arg()
{
this.IsValid = true;
this.Value = null;
}
function onChange(src, func)
{
var arg = new Arg();
arg.IsValid = true;
if(src.value != null)
arg.Value = src.Value;
else
arg.Value = null;
func(src, arg);
}
//Valide si le champ est remplis
function requiredField(src, arg) {
cleanMessage(src);
setClearCouleurPoint(src);
var text = arg.Value.replace(' ', '');
arg.IsValid = (text.length > 0 && arg.Value.length > 0);
setCouleurPoint(src, arg.IsValid ? 'vert' : 'rouge');
if(!arg.IsValid)
message(src, 'false', 'Un ou plusieurs champs sont requis');
}
//Valide si le champ est remplis
function compare( src, arg, champ2)
{
arg.IsValid = arg.Value == document.getElementById(champ2).value;
setCouleurPoint(src, arg.IsValid ? 'vert' : 'rouge');
}
//Valide un pseudonyme sur le site
var verifPseudo = null;
//valide que la selection dans un drop down des != de 0
function validDropDownSelectedValue( src, arg )
{
cleanMessage(src);
setClearCouleurPoint(src);
arg.IsValid = (arg.Value != '0');
setCouleurPoint(src, arg.IsValid ? 'vert' : 'rouge');
if(!arg.IsValid)
message(src, 'false', 'Un ou plusieurs champs sont requis');
}
//Supprime la couleur sur le point
function setClearCouleurPoint(src)
{
var divParent = src.parentNode;
var elements = null;
// if(elements.length == 0) elements = divParent.parentNode.getElementsByTagName("img");
var hideImg = false;
do
{
elements = divParent.getElementsByTagName("img");
for(var i = 0 ; i < elements.length ; i++)
{
if(stringEndWith(elements[i].className, 'active'))
{
elements[i].className = elements[i].className.substr(0, elements[i].className.length - 6);
}
hideImg = true;
}
divParent = divParent.parentNode;
}while(!hideImg && divParent!=null);
}
function stringEndWith(text, val)
{
return new RegExp(val + '$', 'i').test(text);
}
//Met le bon point avec la couleur
function setCouleurPoint(src, couleur)
{
var image = '';
if(couleur == 'vert')
{
image = '/images/providers/Looneo/Produits/bg_bulle_verte.gif';
}
else
{
image = '/images/providers/Looneo/Produits/bg_bulle_rouge.gif';
}
var divParent = src.parentNode;
var elements = null;
// elements = divParent.getElementsByTagName("img");
// if(elements.length == 0) elements = divParent.parentNode.getElementsByTagName("img");
var showImg = false;
do
{
elements = divParent.getElementsByTagName("img");
for(var i = 0 ; i < elements.length ; i++)
{
if(stringEndWith(elements[i].src, '/images/providers/Looneo/Produits/bg_bulle_verte.gif')
|| stringEndWith(elements[i].src, '/images/providers/Looneo/Produits/bg_bulle_rouge.gif')
|| elements[i].src == ''){
if(!stringEndWith(elements[i].className, 'active') || couleur == 'rouge')
{
if(!stringEndWith(elements[i].className, 'active'))
{
elements[i].className += 'active';
}
elements[i].src = image;
}
showImg = true;
}
}
divParent = divParent.parentNode;
}while(!showImg && divParent!=null);
}
function Message()
{
this.objet = null;
this.text = '';
this.type = '';
}
function ListeMessage()
{
this.messages = new Array();
ListeMessage.prototype.clearAll = function ()
{
this.messages = new Array();
}
ListeMessage.prototype.getMessage = function (obj)
{
for(var i = 0; i < this.messages.length; i++)
{
if(obj == this.messages[i].objet)
{
return this.messages[i];
}
}
return null;
}
ListeMessage.prototype.setMessage = function (obj, type, text)
{
var mess = this.getMessage(obj);
if(mess == null)
{
mess = new Message();
mess.objet = obj;
this.messages[this.messages.length] = mess;
}
if(mess.type == '' || mess.type == null || type == 'false' || type == null)
{
mess.type = type;
mess.text = text;
}
}
ListeMessage.prototype.afficheAllMessage = function ()
{
//Supprime tous les messages
for(var i = 0 ; i < this.messages.length ; i++)
{
this.clearMessage(this.messages[i]);
}
//Affiche tous les messages
for(var i = 0 ; i < this.messages.length ; i++)
{
this.afficheMessage(this.messages[i]);
}
}
ListeMessage.prototype.clearMessage = function (message)
{
var dlParent = getParentByTagName(message.objet, 'DL');
if(dlParent != null)
{
var dt = dlParent.getElementsByTagName("dt");
var elements = dt[0].getElementsByTagName("span");
for(var i = 0 ; i < elements.length ; i++)
{
elements[i].className = '';
elements[i].innerHTML = '';
}
}
else
{
var parent = getParentByClassName(message.objet, 'BPopRow');
var element = getElementByClassName(parent, "BPopRowMsg");
element.getElementsByTagName("div")[0].className = '';
element.getElementsByTagName("strong")[0].innerHTML = '';
}
}
ListeMessage.prototype.afficheMessage = function (message)
{
if(message.text == null) return ;
var dlParent = getParentByTagName(message.objet, 'DL');
if(dlParent != null)
{
var dt = dlParent.getElementsByTagName("dt");
var elements = dt[0].getElementsByTagName("span");
for(var i = 0 ; i < elements.length ; i++)
{
if(elements[i].className == '' || elements[i].className == message.type || message.type == 'false')
{
if(elements[i].className != message.type) elements[i].innerHTML = '';
if(elements[i].innerHTML.match(message.text) == null)
{
elements[i].className = message.type;
elements[i].innerHTML += message.text + '
';
}
}
}
}
else
{
var parent = getParentByClassName(message.objet, 'BPopRow');
var element = getElementByClassName(parent, "BPopRowMsg");
elementClass = element.getElementsByTagName("div")[0];
elementHtml = element.getElementsByTagName("strong")[0];
if(elementClass.className == '' || elementClass.className == message.type || message.type == 'false')
{
if(elementClass.className != message.type) elementHtml.innerHTML = '';
if(elementHtml.innerHTML.match(message.text) == null)
{
elementClass.className = message.type;
elementHtml.innerHTML += message.text + '
';
}
}
}
}
}
var messages = new ListeMessage();
function cleanMessage(src)
{
messages.setMessage(src, null, null);
messages.afficheAllMessage();
}
function message(src, type, text)
{
messages.setMessage(src, type, text);
messages.afficheAllMessage();
var dtErrorText = document.getElementsByTagName('dt');
for(var i = 0 ; i < dtErrorText.length ; i++)
{
if(dtErrorText[i].getElementsByTagName("span").length > 0 && dtErrorText[i].getElementsByTagName("span")[0].className == 'false')
{
if(dtErrorText[i].id == '')
{
dtErrorText[i].id = 'error' + i;
}
if(document.location.hash != '#' + dtErrorText[i].id)
window.location.href = '#' + dtErrorText[i].id;
break;
}
}
}
function getParentByTagName(obj, tagName)
{
if(obj.tagName == tagName && obj.id == '')
{
return obj;
}
else if(obj.parentNode == null)
{
return null;
}
else
{
return getParentByTagName(obj.parentNode, tagName);
}
}
function getParentByClassName(obj, className)
{
if(obj.className!=null && obj.className.replace(className, '') != obj.className && obj.id == '')
{
return obj;
}
else if(obj.parentNode == null)
{
return null;
}
else
{
return getParentByClassName(obj.parentNode, className);
}
}
function getElementByClassName(obj, className)
{
if(obj.className != null && obj.className.replace(className, '') != obj.className)
{
return obj;
}
else
{
for(var i = 0; i < obj.childNodes.length; i++)
{
var ret = getElementByClassName(obj.childNodes[i], className);
if(ret!=null) return ret;
}
}
return null;
}
/******* Gestion de la validation de du uername next gen ***********/
var proxyUsername = {username:"",isValid:false};
function validUsernameUsed(src, arg) {
if (proxyUsername.username == arg.Value) arg.IsValid = proxyUsername.isValid;
else {
$.ajax({
type: "POST",
async: false,
timeout: 500,
contentType: "application/json",
dataType: "json",
url: "/WebServices/ExistsMember.asmx/Exists",
data: '{"member":"' + arg.Value + '"}',
success: function(result) {
arg.IsValid = !result.d;
proxyUsername.username = arg.Value;
proxyUsername.isValid = arg.IsValid;
}
});
}
}
function validUsernamelenght(src, arg) {
CurrentUsername = arg.Value;
if (arg.Value.length >= 5) {
arg.IsValid = true;
}
else {
arg.IsValid = false;
}
}
function validUsernameChar(src, arg) {
var CurrentUsername = arg.Value;
var patt1 = "^[a-zA-Z0-9_]+$";
arg.IsValid=CurrentUsername.match(patt1) != null;
}
function ValidateEmail(src, arg) {
if (!/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i.test(arg.Value))
arg.IsValid = false;
else arg.IsValid = true;
}
var proxyEmail = { email: "", isValid: false };
function ValidateEmailUsed(src, arg) {
if (proxyEmail.email == arg.Value) arg.IsValid = proxyEmail.isValid;
else {
$.ajax({
type: "POST",
async: false,
timeout: 500,
contentType: "application/json",
dataType: "json",
url: "/WebServices/ExistsMember.asmx/ValideEmail",
data: '{"email":"' + arg.Value + '"}',
success: function(result) {
arg.IsValid = result.d;
proxyEmail.email = arg.Value;
proxyEmail.isValid = arg.IsValid;
}
});
}
}
function requiredPasswordlenght(src, arg) {
if (arg.Value.length < 4) arg.IsValid = false;
else arg.IsValid = true;
}