/* * FONCTIONS GENERALES DE LA PLATEFORME * © fxtracking.fr */ var load_img = 'load'; var defaut = "#FFFFFF"; var exclam = "#FFFDCB"; var global = this; // Couleur du champ d'un formulaire function couleur(obj) { obj.style.backgroundColor = defaut; } // Appel d'une ancre nommée function ancre(objet) { document.location.href = objet; } // Active/désactive n° de TVA function changeoption(doubledate) { var objet = document.getElementById('form1'); if (objet) { objet['num_intra'].disabled = !doubledate; } } // Formulaire d'insctription Editeur/Annonceur function verif_form(compte) { var objet = document.getElementById('form1'); var msg = ''; if (objet.elements['email'].value == '') { objet.elements['email'].style.backgroundColor = exclam; msg += '- your email
'; }else{ indexAroba = objet.elements['email'].value.indexOf('@'); indexPoint = objet.elements['email'].value.indexOf('.'); if ((indexAroba < 0) || (indexPoint < 0)) { objet.elements['email'].style.backgroundColor = exclam; msg += '- your e-mail is incorrect
'; } } if (objet.elements['login'].value == "") { objet.elements['login'].style.backgroundColor = exclam; msg += '- your login
'; } if (objet.elements['mdp'].value == "") { objet.elements['mdp'].style.backgroundColor = exclam; msg += '- password
'; } if (objet.elements['securite'].value == "") { objet.elements['securite'].style.backgroundColor = exclam; msg += '- The security code
'; } if (objet.elements['nom'].value == "") { objet.elements['nom'].style.backgroundColor = exclam; msg += '- your name
'; } if (objet.elements['prenom'].value == "") { objet.elements['prenom'].style.backgroundColor = exclam; msg += '- your first name
'; } // Si c'est un compte webmaster if (compte == 'w') { if (objet.elements['url_titre'].value == '') { objet.elements['url_titre'].style.backgroundColor = exclam; msg += '- The website title
'; } if (objet.elements['url_redirect'].value == '' || objet.elements['url_redirect'].value == 'http://') { objet.elements['url_redirect'].style.backgroundColor = exclam; msg += "- URL of the website
"; } if (objet.elements['url_description'].value == '') { objet.elements['url_description'].style.backgroundColor = exclam; msg += '- The website description
'; } } if (objet.elements['reglement'].checked == false) { msg += '- You must agree to the terms and conditions
'; } // Si message, une erreur; on ne valide pas if (msg != '') { var msg2 = 'Please complete the following fields :
'; msg2 += msg; lightbox(0, msg2); return false; } } // Initialisation d'un objet XHR function init_xhr() { var xhr // Mozilla firefox if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); return xhr; // Internet Explorer }else if (window.ActiveXObject) { xhr = new ActiveXObject('Microsoft.XMLHTTP'); return xhr; // Erreur }else{ lightbox(0, 'Your browser does not support AJAX.'); return false; } } // Creation Ajax pour récuperer disponibilite login (qui est l'email) function File(fichier) { var xhr = new init_xhr; xhr.open('GET', fichier, false); xhr.send(null); if(xhr.readyState == 4) { return(xhr.responseText); }else{ return(false); } } // Permet de verifier en javax si le login est déja utilisé function CheckDispoLogin(compte) { var objet = document.getElementById('form1'); var login = objet.elements['login'].value; // On contrôle que le login demandé est disponible var result = File('../javaxlogin.php?login='+escape(login)+'&k='+compte); // Vérifie le formulaire if (result == 1) { return verif_form(compte); }else if(result == 0) { if (login == '') { lightbox(0, 'Login is required !'); objet.elements['login'].style.backgroundColor = exclam; objet.elements['login'].focus(); }else{ lightbox(0, 'This login is already taken.'); } return false; } } // Vérification simple d'un formulaire function verif_champ(form) { var X = 0; for (var i = 0; i < form.length; i++) { var objet = form.elements[i]; if (objet.name != ''){ if (objet.value == '') { X++; } } } if (X != 0) { lightbox(0, 'One or more fields are not completed.'); return false; } } // Pour afficher des fenêtres en popup function popup(fichier, largeur, hauteur) { var top = (screen.height - hauteur) / 2; var left = (screen.width - largeur) / 2; var position = 'top='+top+', left='+left+', width='+largeur+', height='+hauteur; win = window.open(fichier, 'popup', position+', scrollbars=yes, location=no, resizable=no'); win.document.close(); win.focus(); } // Afficher/masquer plusieurs div dans la page function visible(id, num, total) { var objet = document.getElementById(id + '-' + num); for (var i = 1; i <= total; i++) { var div = document.getElementById('tag' + i + '-' + num); div.style.display = 'none'; } objet.style.display = 'block'; } // Affiche/masque un div à partir d'un select onchange() function select(value, id) { var div = document.getElementById(id); if (div) { if (value == 1) { div.style.display = 'none'; }else{ div.style.display = 'block'; } } } /* * ------------------------------------- * FONCTIONS AJAX COMPTE ADMIN/ANNONCEUR * ------------------------------------- */ // Gestion des onglets (voir campagnes_visuels.php) function onglet(id){ var name = document.getElementById(id).name; var total = document.getElementsByName(name).length; for (var i = 1; i <= total; i++) { if (document.getElementById(name + i)) { document.getElementById(name + i).className = ''; } } if (document.getElementById(id)) { document.getElementById(id).className = 'actif'; } } // Affiche le tableau du visuel à ajouter (campagnes_visuels.php) function onglet_visuel(id, nom, url, lng) { var xhr = new init_xhr; onglet('menu'+id); if (url == '') url = 'http://'; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById('visuel_installe').innerHTML = xhr.responseText; document.getElementById('url').value = url; } } xhr.open('GET', '../inc/visuels.installe.php?onglet='+id+'&nom='+nom+'&lng='+lng, true); xhr.send(null); } // Affiche le type de visuel suivant la campagne function affiche_visuel(idadv, idc, type, click, lng) { var xhr = new init_xhr; onglet('type'+type); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById('visuel_load').innerHTML = xhr.responseText; document.getElementById('type_lot').value = type; // Si visuel == à Script / Iframe / Flux XML if (type == 7 || type == 8 || type == 11) { document.getElementById('txt_lot').disabled = true; document.getElementById('btn_lot').disabled = true; }else{ document.getElementById('txt_lot').disabled = false; document.getElementById('btn_lot').disabled = false; } if (click) ancre('#type'); }else{ document.getElementById('visuel_load').innerHTML = load_img; } } xhr.open('GET', '../inc/visuels.load.php?idadv='+idadv+'&idc='+idc+'&type='+type+'&lng='+lng, true); xhr.setRequestHeader('Cache-Control', 'no-cache'); xhr.send(null); } // Affiche les campagnes pour l'annonceur (header.inc.php) function campagne_dispo(id_adv) { var xhr = new init_xhr; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById('M2').innerHTML = xhr.responseText; } } xhr.open('GET', '../annonceur/header.inc.php?id_adv='+id_adv, true); xhr.send(null); } // Permuter un select dans un select (mailing.inc.php) function permuter(id_source, id_cible) { var source = document.getElementById(id_source); var cible = document.getElementById(id_cible); while (source.selectedIndex > -1) { // On cherche la place de notre champ for (var I = 0; I < cible.length; I++) { if (cible.options[I].text > source.options[source.selectedIndex].text) { break; } } // On décale tous les champs dans la cible for (var X = cible.length; X > I; X--) { cible.options[X] = new Option(cible.options[(X-1)].text, cible.options[(X-1)].value); } // On insère le champ sélectionné dans la cible cible.options[I] = new Option(source.options[source.selectedIndex].text, source.options[source.selectedIndex].value); // On supprime le champ dans la source source.options[source.selectedIndex] = null; } } // Verifier tous les champs (mailing.inc.php) function tout() { var titre = document.form['titre'].value; var corps = document.form['corps'].value; var nbmail = document.form['liste2[]'].length; if(!nbmail) { lightbox(0, 'Please select at least one affiliate.'); return false; } if(!titre) { lightbox(0, 'Please enter a title for your message.'); return false; } if(!corps) { lightbox(0, 'Please write the body of your message.'); return false; } for (var n = 0; n < nbmail; n++) { document.form['liste2[]'].options[n].selected = 'selected'; } return true; } /* * ------------------------------- * FONCTIONS AJAX COMPTE EDITEUR * ------------------------------- */ // Affiche les formats de mediatag (index.php) function mediatag_format(id) { var objet = document.getElementById(id); // Objet à traité (ids = n° de site) var index = objet.selectedIndex; // Index de l'objet sélectionné var ids = objet.value; // Valeur de l'index sélectionné (n° de site) // Met à jour le container document.getElementById('textarea').innerHTML = ''; if (index != 0) { var xhr = new init_xhr; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById('select').innerHTML = xhr.responseText; document.getElementById('select').style.display = 'inline'; } } xhr.open('GET', '../editeur/index.inc.php?action=format&ids='+ids, true); xhr.send(null); }else{ // Met à jour le container document.getElementById('select').innerHTML = ''; } } // Affiche le tag du mediatag (index.php) function mediatag_tag(id) { var objet = document.getElementById(id); // Objet à traité (format = n° du format) var index = objet.selectedIndex; // Index de l'objet sélectionné var format = objet.value; // Valeur de l'index sélectionné (n° du format) if (index != 0) { var xhr = new init_xhr; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById('textarea').innerHTML = xhr.responseText; } } xhr.open('GET', '../editeur/index.inc.php?action=tag&id='+format, true); xhr.send(null); }else{ // Met à jour le container document.getElementById('textarea').innerHTML = ''; } } // Gestion des listes du catalogue (catalogue.php) function catalogue(idsup, idc, div, action) { var xhr = new init_xhr; var requete = 'idsup='+idsup+'&idc='+idc+'&action='+action; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.responseText != '') { document.getElementById(div).innerHTML = xhr.responseText; }else{ document.getElementById(div).innerHTML = ''; } } } xhr.open('GET', '../editeur/catalogue.inc.php?' + requete, true); xhr.send(null); } // Postuler à une campagne (catalogue.inc.php) function postuler(idsup, idc, ids, url) { if (ids != '') { var xhr = new init_xhr; var requete = ''; switch (ids) { case 'parlot': requete = 'idsup='+idsup+'&idc='+idc+'&action=parlot'; break; default: requete = 'ids='+ids+'&idc='+idc+'&action=parsite'; break; } xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { catalogue(idsup, idc, 'post'+idc, 'listing'); catalogue(idsup, idc, 'code'+idc, 'visuel'); switch (ids) { case 'parlot': lightbox(1, 'All your sites have been registered.'); break; default: url = url[0].toUpperCase() + url.substring(1); lightbox(1, url + ' ' + 'was subscribe in the campaign.'); break; } } } xhr.open('GET', '../editeur/catalogue.inc.php?' + requete, true); xhr.send(null); } } // Récupère le tag des visuels (catalogue.inc.php) function tag_visuel(idsup, ids, idc) { if (ids != '') popup('../editeur/visuels.php?idsup='+idsup+'&ids='+ids+'&idc='+idc, 1000, 700); } // Affiche les visuels suivant le mode (mediatag.inc.php) function mediatag_gestion(mode, id_tag) { var xhr = new init_xhr; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById('mediatag_visuel_'+id_tag).innerHTML = xhr.responseText; }else{ switch (mode) { case 0: document.getElementById('mediatag_'+id_tag).style.display = ''; document.getElementById('mediatag_visuel_'+id_tag).innerHTML = load_img; lightbox(2, 'The mediatag is now manual.'); break; case 1: document.getElementById('mediatag_'+id_tag).style.display = 'none'; lightbox(2, 'The mediatag is now automatic.'); break; } } } xhr.open('GET', '../editeur/mediatag.inc.php?mode='+mode+'&id_tag='+id_tag, true); xhr.setRequestHeader('Cache-Control', 'no-cache'); xhr.send(null); } // Vérification des cases à cocher du mediatag (mediatag.inc.php) function verif_check(form) { var nbrCasesCochees = 0; var selection = form.elements['selection[]']; for (var i = 0; i < selection.length; i++) { if (selection[i].checked) { nbrCasesCochees++; } } if (nbrCasesCochees == 0) { lightbox(0, 'You must select at least 1 banner.'); return false; } } // Coche/decoche suivant l'id du checkbox (mediatag.inc.php) function checkbox(visuels) { // On récupère dans un tableau tous les id var id = visuels.split('-'); // On traite chaque id séparement for (X = 0; X < id.length; X++) { var objet = document.getElementById(id[X]); if (!objet.checked) { objet.checked = true; }else{ objet.checked = false; } } } /* * ------------------------------- * FONCTIONS DIVERSES * ------------------------------- */ // Gestion des balises html dans un textarea // (voir dans /admin/newsletter.php) function addTexte(id, debut, fin){ var input = document.getElementById(id); input.focus(); /* pour Internet Explorer */ if (typeof document.selection != 'undefined') { /* Insertion du code de formatage */ var range = document.selection.createRange(); var insText = range.text; range.text = debut + insText + fin; /* Ajustement de la position du curseur */ range = document.selection.createRange(); if (insText.length == 0) { range.move('character', -fin.length); }else{ range.moveStart('character', debut.length + insText.length + fin.length); } range.select(); }else{ /* Insertion du code de formatage */ var start = input.selectionStart; var end = input.selectionEnd; var insText = input.value.substring(start, end); input.value = input.value.substr(0, start) + debut + insText + fin + input.value.substr(end); /* Ajustement de la position du curseur */ var pos; if (insText.length == 0) { pos = start + debut.length; }else{ pos = start + debut.length + insText.length + fin.length; } input.selectionStart = pos; input.selectionEnd = pos; } } // Affiche/masque les div de la FAQ du site vitrine function affCache(id, total) { var div = document.getElementById(id); for (var i = 1; i <= total; i++) { document.getElementById('faq'+i).style.display = 'none'; } div.style.display = 'block'; } // Force un div à prendre une hauteur fixe function divHeight(id, height) { var div = document.getElementById(id); div.style.height = height; } // Sélectionne des cases à cocher pour email catcheur function select_profil() { var objet = document.getElementById('form1'); for (var i = 0; i <= 13; i++) { objet.elements['options['+i+']'].checked = false; } objet.elements['options[2]'].checked = true; objet.elements['options[4]'].checked = true; objet.elements['options[9]'].checked = true; objet.elements['options[10]'].checked = true; objet.submit(); } // Convertit les caractères spéciaux en entités HTML et inversement function taghtmlchars(id_champ, id_bouton, option) { var champ = document.getElementById(id_champ); var bouton = document.getElementById(id_bouton); var tag = champ.value; if (tag != '') { switch (option) { // Encode les caractères HTML case 1: tag = tag.replace(/&/g, '&'); tag = tag.replace(/\"/g, '"'); tag = tag.replace(/\'/g, '''); tag = tag.replace(//g, '>'); bouton.title = 'Adapts to install the tag on a website'; bouton.value = 'Tag for Web Site'; bouton.onclick = function() { taghtmlchars(id_champ, id_bouton, 2); } break; // Décode les caractères HTML case 2: tag = tag.replace(/&/g, '&'); tag = tag.replace(/"/g, '"'); tag = tag.replace(/'/g, '\''); tag = tag.replace(/</g, '<'); tag = tag.replace(/>/g, '>'); bouton.title = 'Adapts to install the tag on a blog or a forum'; bouton.value = 'Tag for Blog / Forum'; bouton.onclick = function() { taghtmlchars(id_champ, id_bouton, 1); } break; } // Récupère le nouveau tag champ.value = tag; champ.select(); } }