// 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; }