var dynamicListContent = [{"fieldId":"fld_Country","type":"simple","formParentFieldId":"","data":[{"code":"472","name":"AFGHANISTAN"},{"code":"329","name":"AFRIQUE DU SUD"},{"code":"324","name":"ALBANIE"},{"code":"322","name":"ALGERIE"},{"code":"8","name":"ALLEMAGNE"},{"code":"321","name":"ANDORRE"},{"code":"327","name":"ANGOLA"},{"code":"323","name":"ANGUILLA"},{"code":"476","name":"ANTARCTIQUE"},{"code":"320","name":"ANTIGUA ET BARBUDA"},{"code":"326","name":"ANTILLES NEERLANDAISES"},{"code":"78","name":"ARABIE SAOUDITE"},{"code":"50","name":"ARGENTINE"},{"code":"325","name":"ARMENIE"},{"code":"330","name":"ARUBA"},{"code":"36","name":"AUSTRALIE"},{"code":"47","name":"AUTRICHE"},{"code":"53","name":"AZERBAIDJAN"},{"code":"51","name":"BAHAMAS"},{"code":"98","name":"BAHREIN"},{"code":"35","name":"BANGLADESH"},{"code":"331","name":"BARBADE"},{"code":"3","name":"BELGIQUE"},{"code":"339","name":"BELIZE"},{"code":"80","name":"BENIN"},{"code":"334","name":"BERMUDES"},{"code":"336","name":"BHOUTAN"},{"code":"48","name":"BIELORUSSIE"},{"code":"401","name":"BIRMANIE (MYANMAR)"},{"code":"335","name":"BOLIVIE"},{"code":"52","name":"BOSNIE-HERZEGOVINE"},{"code":"338","name":"BOTSWANA"},{"code":"49","name":"BRESIL"},{"code":"147","name":"BRUNEI"},{"code":"54","name":"BULGARIE"},{"code":"332","name":"BURKINA FASO"},{"code":"333","name":"BURUNDI"},{"code":"55","name":"CAMBODGE"},{"code":"345","name":"CAMEROUN"},{"code":"6","name":"CANADA"},{"code":"349","name":"CAP VERT"},{"code":"56","name":"CHILI"},{"code":"25","name":"CHINE"},{"code":"148","name":"CHYPRE"},{"code":"57","name":"COLOMBIE"},{"code":"343","name":"CONGO"},{"code":"387","name":"COREE DU NORD"},{"code":"84","name":"COREE DU SUD"},{"code":"346","name":"COSTA RICA"},{"code":"30","name":"COTE D'IVOIRE"},{"code":"10","name":"CROATIE"},{"code":"348","name":"CUBA"},{"code":"491","name":"DANEMARK"},{"code":"352","name":"DJIBOUTI"},{"code":"353","name":"DOMINIQUE"},{"code":"59","name":"EGYPTE"},{"code":"89","name":"EMIRATS ARABES UNIS (EAU)"},{"code":"355","name":"EQUATEUR"},{"code":"357","name":"ERYTHREE"},{"code":"19","name":"ESPAGNE"},{"code":"60","name":"ESTONIE"},{"code":"5","name":"ETATS-UNIS"},{"code":"358","name":"ETHIOPIE"},{"code":"359","name":"FIDJI"},{"code":"16","name":"FINLANDE"},{"code":"2","name":"FRANCE"},{"code":"363","name":"GABON"},{"code":"367","name":"GAMBIE"},{"code":"364","name":"GEORGIE"},{"code":"371","name":"GEORGIE SUD/ILES SANDWICH SUD"},{"code":"24","name":"GHANA"},{"code":"61","name":"GIBRALTAR"},{"code":"62","name":"GRECE"},{"code":"475","name":"GRENADE"},{"code":"366","name":"GROENLAND"},{"code":"369","name":"GUADELOUPE"},{"code":"373","name":"GUAM"},{"code":"372","name":"GUATEMALA"},{"code":"368","name":"GUINEE"},{"code":"370","name":"GUINEE EQUATORIALE"},{"code":"374","name":"GUINEE-BISSAU"},{"code":"375","name":"GUYANA"},{"code":"365","name":"GUYANE FRANCAISE"},{"code":"378","name":"HAITI"},{"code":"377","name":"HONDURAS"},{"code":"63","name":"HONG-KONG"},{"code":"64","name":"HONGRIE"},{"code":"337","name":"ILE BOUVET"},{"code":"350","name":"ILE CHRISTMAS"},{"code":"429","name":"ILE DE LA REUNION"},{"code":"408","name":"ILE MAURICE"},{"code":"379","name":"ILES ANGLO NORMANDES"},{"code":"388","name":"ILES CAIMANS"},{"code":"340","name":"ILES COCOS (KEELING)"},{"code":"344","name":"ILES COOK"},{"code":"360","name":"ILES FALKLAND"},{"code":"362","name":"ILES FEROE"},{"code":"376","name":"ILES HEARD ET MCDONALD"},{"code":"404","name":"ILES MARIANNES DU NORD"},{"code":"398","name":"ILES MARSHALL"},{"code":"460","name":"ILES MINEURES ELOIGNEES E.-U."},{"code":"414","name":"ILES NORFOLK"},{"code":"423","name":"ILES PITCAIRN"},{"code":"431","name":"ILES SALOMON"},{"code":"448","name":"ILES TURKS ET CAICOS"},{"code":"465","name":"ILES VIERGES (E.U.)"},{"code":"464","name":"ILES VIERGES (R.U.)"},{"code":"32","name":"INDE"},{"code":"66","name":"INDONESIE"},{"code":"381","name":"IRAK"},{"code":"94","name":"IRAN"},{"code":"67","name":"IRLANDE"},{"code":"65","name":"ISLANDE"},{"code":"26","name":"ISRAEL"},{"code":"11","name":"ITALIE"},{"code":"382","name":"JAMAIQUE"},{"code":"68","name":"JAPON"},{"code":"69","name":"JORDANIE"},{"code":"389","name":"KAZAKHSTAN"},{"code":"70","name":"KENYA"},{"code":"383","name":"KIRGHIZISTAN"},{"code":"384","name":"KIRIBATI"},{"code":"71","name":"KOWEIT"},{"code":"390","name":"LAOS"},{"code":"385","name":"LES COMORES"},{"code":"395","name":"LESOTHO"},{"code":"96","name":"LETTONIE"},{"code":"391","name":"LIBAN"},{"code":"394","name":"LIBERIA"},{"code":"396","name":"LIBYE"},{"code":"393","name":"LIECHTENSTEIN"},{"code":"97","name":"LITUANIE"},{"code":"18","name":"LUXEMBOURG"},{"code":"403","name":"MACAO"},{"code":"399","name":"MACEDOINE"},{"code":"72","name":"MADAGASCAR"},{"code":"410","name":"MALAWI"},{"code":"23","name":"MALAYSIE"},{"code":"409","name":"MALDIVES"},{"code":"400","name":"MALI"},{"code":"73","name":"MALTE"},{"code":"46","name":"MAROC"},{"code":"405","name":"MARTINIQUE"},{"code":"406","name":"MAURITANIE"},{"code":"469","name":"MAYOTTE"},{"code":"74","name":"MEXIQUE"},{"code":"361","name":"MICRONESIE"},{"code":"397","name":"MOLDAVIE"},{"code":"37","name":"MONACO"},{"code":"402","name":"MONGOLIE"},{"code":"93","name":"MONTÉNÉGRO"},{"code":"407","name":"MONTSERRAT"},{"code":"411","name":"MOZAMBIQUE"},{"code":"473","name":"NAMIBIE"},{"code":"417","name":"NAURU"},{"code":"75","name":"NELLE-ZELANDE"},{"code":"416","name":"NEPAL"},{"code":"415","name":"NICARAGUA"},{"code":"413","name":"NIGER"},{"code":"29","name":"NIGERIA"},{"code":"418","name":"NIUE"},{"code":"9","name":"NORVEGE"},{"code":"412","name":"NOUVELLE-CALEDONIE"},{"code":"79","name":"OMAN"},{"code":"459","name":"OUGANDA"},{"code":"461","name":"OUZBEKISTAN"},{"code":"34","name":"PAKISTAN"},{"code":"426","name":"PALAOS"},{"code":"419","name":"PANAMA"},{"code":"421","name":"PAPOUASIE NOUVELLE GUINEE"},{"code":"427","name":"PARAGUAY"},{"code":"12","name":"PAYS-BAS"},{"code":"76","name":"PEROU"},{"code":"81","name":"PHILIPPINES"},{"code":"14","name":"POLOGNE"},{"code":"420","name":"POLYNESIE FRANCAISE"},{"code":"424","name":"PORTO RICO"},{"code":"15","name":"PORTUGAL"},{"code":"77","name":"QATAR"},{"code":"342","name":"REPUBLIQUE CENTRAFRICAINE"},{"code":"428","name":"REPUBLIQUE CENTRE AFRIQUE"},{"code":"341","name":"REPUBLIQUE DEMOCRATIQUE CONGO"},{"code":"354","name":"REPUBLIQUE DOMINICAINE"},{"code":"95","name":"REPUBLIQUE SERBE"},{"code":"351","name":"REPUBLIQUE TCHEQUE"},{"code":"13","name":"ROUMANIE"},{"code":"7","name":"ROYAUME-UNI"},{"code":"489","name":"RUSSIE"},{"code":"430","name":"RWANDA"},{"code":"356","name":"SAHARA OCCIDENTAL"},{"code":"443","name":"SAINT BARTHELEMY"},{"code":"439","name":"SAINT MARTIN"},{"code":"463","name":"SAINT VINCENT & GRENADINES"},{"code":"434","name":"SAINTE-HELENE"},{"code":"392","name":"SAINTE-LUCIE"},{"code":"386","name":"SAINT-KITTS-ET-NEVIS"},{"code":"444","name":"SALVADOR"},{"code":"468","name":"SAMOA"},{"code":"28","name":"SAMOA (E.U.)"},{"code":"438","name":"SAN MARIN"},{"code":"442","name":"SAO TOME"},{"code":"83","name":"SENEGAL"},{"code":"347","name":"SERBIE ET MONTENEGRO"},{"code":"432","name":"SEYCHELLES"},{"code":"437","name":"SIERRA LEONE"},{"code":"31","name":"SINGAPOUR"},{"code":"58","name":"SLOVAQUIE"},{"code":"435","name":"SLOVENIA"},{"code":"440","name":"SOMALIE"},{"code":"433","name":"SOUDAN"},{"code":"85","name":"SRI LANKA"},{"code":"422","name":"ST. PIERRE ET MIQUELON"},{"code":"86","name":"SUEDE"},{"code":"17","name":"SUISSE"},{"code":"441","name":"SURINAM"},{"code":"436","name":"SVALBARD ET ILE JAN MAYEN"},{"code":"446","name":"SWAZILAND"},{"code":"445","name":"SYRIE"},{"code":"451","name":"TADJIKISTAN"},{"code":"447","name":"TAHITI"},{"code":"87","name":"TAIWAN"},{"code":"458","name":"TANZANIE"},{"code":"449","name":"TCHAD"},{"code":"380","name":"TERR. BRITANNIQUE OCEAN INDIEN"},{"code":"474","name":"TERRES AUSTRALES FRANCAISES"},{"code":"425","name":"TERRITOIRE PALESTINIEN OCCUPE"},{"code":"88","name":"THAILANDE"},{"code":"453","name":"TIMOR-LESTE"},{"code":"450","name":"TOGO"},{"code":"452","name":"TOKELAU"},{"code":"455","name":"TONGA"},{"code":"456","name":"TRINITE-ET-TOBAGO"},{"code":"149","name":"TUNISIE"},{"code":"454","name":"TURKMENISTAN"},{"code":"27","name":"TURQUIE"},{"code":"457","name":"TUVALU"},{"code":"90","name":"UKRAINE"},{"code":"91","name":"URUGUAY"},{"code":"466","name":"VANUATU"},{"code":"462","name":"VATICAN"},{"code":"33","name":"VENEZUELA"},{"code":"92","name":"VIETNAM"},{"code":"467","name":"WALLIS ET FUTUNA"},{"code":"82","name":"YEMEN"},{"code":"470","name":"ZAMBIE"},{"code":"471","name":"ZIMBABWE"}]},{"fieldId":"fld_Category","type":"simple","formParentFieldId":"","data":[{"code":"237","name":"MON COMPTE"},{"code":"238","name":"FIDELITE - ETAM CONNECT"},{"code":"239","name":"MES ACHATS / MES COMMANDES"},{"code":"240","name":"OPERATIONS / OFFRES"},{"code":"241","name":"COMMERCIAL"}]},{"fieldId":"fld_SubCategory","type":"simple","formParentFieldId":"fld_Category","data":[{"code":"462","parentValue":"237","name":"Modification des données personnelles"},{"code":"488","parentValue":"237","name":"Information compte Etam"},{"code":"465","parentValue":"237","name":"Problème inscription/Connexion"},{"code":"489","parentValue":"237","name":"Perte du mot de Passe"},{"code":"468","parentValue":"237","name":"Inscription /Désinscription News"},{"code":"469","parentValue":"237","name":"Demande Droits d'accès aux données"},{"code":"470","parentValue":"237","name":"Demande de Suppression de données/Compte(RGPD)"},{"code":"452","parentValue":"238","name":"Infos / Règlement du programme fidélité"},{"code":"454","parentValue":"238","name":"Demande de création carte"},{"code":"455","parentValue":"238","name":"Recherche de n° carte"},{"code":"456","parentValue":"238","name":"Demande solde de points"},{"code":"457","parentValue":"238","name":"Demande de rajouts de points"},{"code":"458","parentValue":"238","name":"Demande de correction points"},{"code":"459","parentValue":"238","name":"Utilisation de la réduction points (Cagnotte)"},{"code":"460","parentValue":"238","name":"Litige encaissement réduction fidélité"},{"code":"461","parentValue":"238","name":"Infos sur les Services fidélité(Expérience/Partage/Don)"},{"code":"453","parentValue":"238","name":"Vous avez 2 cartes fidélité"},{"code":"504","parentValue":"239","name":"Information sur la commande"},{"code":"505","parentValue":"239","name":"Annulation / Modification de commande"},{"code":"506","parentValue":"239","name":"Renvoi Ticket dématérialisé"},{"code":"507","parentValue":"239","name":"Demande de facture"},{"code":"508","parentValue":"239","name":"Demande d'historique achats"},{"code":"509","parentValue":"239","name":"Information du suivi colis / Livraison"},{"code":"451","parentValue":"239","name":"Information Conditions d’Echange/Remboursement"},{"code":"441","parentValue":"239","name":"Déclarer un litige sur la commande (Contenu / Livraison)"},{"code":"444","parentValue":"239","name":"Demande/Information sur un Remboursement"},{"code":"445","parentValue":"239","name":"Demande/Information sur un Encaissement"},{"code":"447","parentValue":"239","name":"Dysfonctionnement d’ordre technique/site"},{"code":"448","parentValue":"239","name":"Informations légales site / CGV"},{"code":"436","parentValue":"240","name":"Information Offre/Promo/Mailing"},{"code":"437","parentValue":"240","name":"Offre non Reçue/Perdue/Périmée"},{"code":"438","parentValue":"240","name":"Litige sur Application ou Encaissement Offre/Promo"},{"code":"439","parentValue":"240","name":"Information sur un Jeu"},{"code":"424","parentValue":"241","name":"Informations générales - Magasin"},{"code":"429","parentValue":"241","name":"A propos de votre Expérience - Magasin"},{"code":"430","parentValue":"241","name":"Information /Recherche produit"},{"code":"431","parentValue":"241","name":"Réclamation sur la qualité d'un produit"},{"code":"433","parentValue":"241","name":"A propos de la Carte Cadeau"},{"code":"434","parentValue":"241","name":"Litige encaissement Carte Cadeau"},{"code":"435","parentValue":"241","name":"Information sur les Services Etam"},{"code":"476","parentValue":"241","name":"Information 'Partenaires Etam'"},{"code":"425","parentValue":"241","name":"Engagements environnementaux et sociétaux"}]},{"fieldId":"fld_WebFormProducts","type":"multiple","formParentFieldId":"","data":[]},{"fieldId":"fld_Origin","type":"simple","formParentFieldId":"","data":[]},{"fieldId":"fld_HeadCounts","type":"simple","formParentFieldId":"","data":[{"code":"","name":""},{"code":"","name":""},{"code":"","name":""},{"code":"","name":""},{"code":"","name":""}]},{"fieldId":"fld_Turnover","type":"simple","formParentFieldId":"","data":[{"code":"De 0 à 1 M€","name":"De 0 à 1 M€"},{"code":"De 1 à 5 M€","name":"De 1 à 5 M€"},{"code":"De 5 à 10 M€","name":"De 5 à 10 M€"},{"code":"De 10 à 50 M€","name":"De 10 à 50 M€"},{"code":"De 100 à 500 M€","name":"De 100 à 500 M€"},{"code":"De 500 à 1000 M€","name":"De 500 à 1000 M€"},{"code":"De 1000 à 10000 M€","name":"De 1000 à 10000 M€"}]},{"fieldId":"fld_Salutation","type":"simple","formParentFieldId":"","data":[{"code":"1","name":"MME"},{"code":"2","name":"Mr."},{"code":"3","name":"Mrs."},{"code":"4","name":"Ms."},{"code":"5","name":"JUF"},{"code":"6","name":"MEV"},{"code":"7","name":"MJR"},{"code":"8","name":"FDR"},{"code":"9","name":"FDP"},{"code":"10","name":"FPR"},{"code":"11","name":"FRA"},{"code":"12","name":"HERR"},{"code":"13","name":"SEÑOR"},{"code":"14","name":"SEÑORA"},{"code":"15","name":"SEÑORITA"},{"code":"16","name":"MR"},{"code":"17","name":"MS"},{"code":"18","name":"MISS"},{"code":"19","name":"Dr."},{"code":"20","name":"MLLE"},{"code":"21","name":"M"},{"code":"22","name":"Pani"},{"code":"23","name":"Pan"},{"code":"26","name":"FPD"},{"code":"24","name":"Господин"},{"code":"25","name":"Госпожа"}]}];var formbuilder_obj = (function() {
// Instance stores a reference to the Singleton
var instance;
function init(config) {
// Singleton,
// cookies functions
this._insertAfter = function(newNode, referenceNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
};
this._checkEmail = function(email){
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,25})+$/;
//var mailformat = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,15}$/;
return email.match(mailformat)
};
this._createCookie = function(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
} else var expires = "";
////console.log('cr?ation du cookies : ' + name + "=" + value + expires + "; path=/");
document.cookie = name + "=" + value + expires + "; path=/";
};
this._readCookie = function(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
};
this._eraseCookie = function(name) {
this._createCookie(name, "", -1);
};
this._feedDynamicLists = function() { // cette m�thode remplira les champs de type liste d�roulante
if(this._htmlcontent.length>0){
for (var index = 0; index < this._datas.length; ++index) {
_prefillfieldsfromcookies();
switch (this._datas[index].type) {
case "simple":
var selectbox = document.getElementById(this._datas[index].fieldId);
if (selectbox != null) {
opt = document.createElement("option");
opt.value = '';
opt.text = '';
opt.label = '';
selectbox.appendChild(opt);
var options = this._datas[index].data;
for (i = 0; i < options.length; ++i) {
var optdata = options[i];
var filteringField = document.getElementById(this._datas[index].formParentFieldId);
if((optdata.parentValue !== null && optdata.parentValue !== undefined) &&
(filteringField !== null && filteringField !== undefined)){
if(filteringField !== null && filteringField !== undefined){
if(optdata.parentValue === filteringField.value){
////console.log('optdata.parentValue === filteringField.value');
opt = document.createElement("option");
opt.value = optdata.code;
opt.text = optdata.name;
opt.label = optdata.name;
selectbox.appendChild(opt);
}
}
}else{
opt = document.createElement("option");
opt.value = optdata.code;
opt.text = optdata.name;
opt.label = optdata.name;
selectbox.appendChild(opt);
}
}
}
break;
case "multiple":
////console.log('_feedDynamicLists multiple : ' + this._datas[index].fieldId + 'area');
var multiplediv = document.getElementById(this._datas[index].fieldId + 'area');
if (multiplediv != null) {
var options = this._datas[index].data;
var multiplehtmlcontent = '';
for (i = 0; i < options.length; ++i) {
var optdata = options[i];
var filteringField = document.getElementById(this._datas[index].formParentFieldId);
if((optdata.parentValue !== null && optdata.parentValue !== undefined) &&
(filteringField !== null && filteringField !== undefined)){
if(filteringField !== null && filteringField !== undefined){
if(optdata.parentValue === filteringField.value){
multiplehtmlcontent += '' + optdata.name + '
';
}
}
}else
multiplehtmlcontent += '' + optdata.name + '
';
}
multiplediv.innerHTML = multiplehtmlcontent;
}
break;
}
}
}
};
this._feedDynamicList = function(fields,filteringValue){
for (var ind = 0; ind < this._datas.length; ++ind){
var field = fields[ind];
// //console.log('_feedDynamicList : field : ' + field + ' , filteringValue :' + filteringValue);
var fieldDatas = {};
for (var index = 0; index < this._datas.length; ++index) {
if(this._datas[index].fieldId === field) {
fieldDatas = this._datas[index];
break;
}
}
switch (fieldDatas.type) {
case "simple":
var selectbox = document.getElementById(this._datas[index].fieldId);
if (selectbox != null) {
//vider le champ
var length = selectbox.options.length;
for (i = 0; i < length+1; i++) {
selectbox.remove(1);
}
// remplir la liste d�roulante
opt = document.createElement("option");
opt.value = '';
opt.text = '';
opt.label = '';
//selectbox.appendChild(opt);
var options = fieldDatas.data;
for (i = 0; i < options.length; ++i) {
var optdata = options[i];
if(filteringValue !== null){
if(optdata.parentValue === filteringValue){
opt = document.createElement("option");
opt.value = optdata.code;
opt.text = optdata.name;
opt.label = optdata.name;
selectbox.appendChild(opt);
}
}else{
opt = document.createElement("option");
opt.value = optdata.code;
opt.text = optdata.name;
opt.label = optdata.name;
selectbox.appendChild(opt);
}
}
}
break;
case "multiple":
// //console.log('_feedDynamicList multiple : ' + this._datas[index].fieldId + 'area');
var multiplediv = document.getElementById(this._datas[index].fieldId + 'area');
if (multiplediv != null) {
var options = this._datas[index].data;
var multiplehtmlcontent = '';
for (i = 0; i < options.length; ++i) {
var optdata = options[i];
if(filteringValue !== null){
if(optdata.parentValue === filteringValue){
multiplehtmlcontent += '' + optdata.name + '
';
}
}else
multiplehtmlcontent += '' + optdata.name + '
';
}
multiplediv.innerHTML = multiplehtmlcontent;
}
break;
}
}
};
this._inject = function(src, type) { // fonction qui permet d'injecter un css ou un javascript dynamiquement dans la page
type = type || 'js';
if (type == 'js') {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = src;
} else if (type == 'css') {
var s = document.createElement('link');
s.type = 'text/css';
s.rel = 'stylesheet';
s.href = src;
}
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);
};
this._serializeform = function(form, format) {
switch (format) {
case 'uri':
if (!form || form.nodeName !== "FORM") {
return;
}
var i, j, q = [];
for (i = form.elements.length - 1; i >= 0; i = i - 1) {
if (form.elements[i].name === "") {
continue;
}
switch (form.elements[i].nodeName) {
case 'INPUT':
switch (form.elements[i].type) {
case 'text':
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
break;
case 'textarea':
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
break;
case 'hidden':
case 'password':
case 'button':
case 'reset':
case 'date':
q.push(form.elements[i].name + "=" + form.elements[i].value);
break;
case 'number':
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
break;
case 'submit':
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
break;
case 'checkbox':
case 'radio':
if (form.elements[i].checked) {
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
} else q.push(form.elements[i].name + "=");
break;
case 'file':
break;
}
break;
case 'TEXTAREA':
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
break;
case 'SELECT':
switch (form.elements[i].type) {
case 'select-one':
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
break;
case 'select-multiple':
for (j = form.elements[i].options.length - 1; j >= 0; j = j - 1) {
if (form.elements[i].options[j].selected) {
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].options[j].value));
}
}
break;
}
break;
case 'BUTTON':
switch (form.elements[i].type) {
case 'reset':
case 'submit':
case 'button':
q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value));
break;
}
break;
}
}
return q.join("&");
break;
case 'rest':
if (!form || form.nodeName !== "FORM") {
return;
}
//var i, j, q = [];
var i, j = [];
var q = {};
for (i = form.elements.length - 1; i >= 0; i = i - 1) {
if (form.elements[i].name === "") {
continue;
}
switch (form.elements[i].nodeName) {
case 'INPUT':
switch (form.elements[i].type) {
case 'text':
q[form.elements[i].name] = form.elements[i].value;
break;
case 'textarea':
q[form.elements[i].name] = form.elements[i].value;
break;
case 'hidden':
break;
case 'password':
break;
case 'button':
break;
case 'reset':
break;
case 'date':
q[form.elements[i].name] = form.elements[i].value;
break;
case 'number':
q[form.elements[i].name] = form.elements[i].value;
break;
case 'submit':
q[form.elements[i].name] = form.elements[i].value;
break;
case 'checkbox':
break;
case 'radio':
if (form.elements[i].checked) {
q[form.elements[i].name] = form.elements[i].value;
} else {
q[form.elements[i].name] = "";
}
break;
case 'file':
break;
}
break;
case 'TEXTAREA':
q[form.elements[i].name] = form.elements[i].value;
break;
case 'SELECT':
switch (form.elements[i].type) {
case 'select-one':
q[form.elements[i].name] = form.elements[i].value;
break;
case 'select-multiple':
var selected = [];
for (j = form.elements[i].options.length - 1; j >= 0; j = j - 1) {
if (form.elements[i].options[j].selected) {
selected.push(form.elements[i].options[j].value);
}
}
q[form.elements[i].name] = selected;
break;
}
break;
case 'BUTTON':
switch (form.elements[i].type) {
case 'reset':
break;
case 'submit':
break;
case 'button':
q[form.elements[i].name] = form.elements[i].value;
break;
}
break;
}
}
return q;
break;
}
};
this._valideasiform = function() {
// Ajouter des test pour les champs obligatoire
var elements = document.forms['easiform'].elements;
var errorfields = '';
var errorfieldsarray = [];
var errorfieldsnamearray = [];
var validationError = false;
var errorMessage = "";
// Traitement des liens multiple avec des checbox :
var inputgroups = jQuery('#easiform .multiplechoicearea');
for (i = 0; i < inputgroups.length; i++) {
var inputgroup = inputgroups[i];
if (inputgroup.getAttribute('mandatory') == 'true') { // checboxes obligatoires
var empty = true;
var checkboxes = inputgroup.getElementsByTagName('input');
for (j = 0; j < checkboxes.length; j++) {
var element = checkboxes[j];
var value = element.checked;
if (element.checked) {
empty = false;
break;
}
}
if (empty) {
errorfieldsarray.push(element);
errorfieldsnamearray.push(inputgroup.getAttribute('label'));
validationError = true
}
}
}
//Champs obligatoires
for (i = 0; i < elements.length; i++) {
var element = elements[i];
var value = element.value;
if ((element.value == null || element.value == '') && element.getAttribute('mandatory') == 'true') {
errorfieldsarray.push(element);
errorfieldsnamearray.push(element.getAttribute('label'));
validationError = true
}
}
//construction du message d'erreur :
errorMessage = this._mandatoryFieldEmptyMessage.replace("%P1", errorfieldsnamearray.join());
// Test du champs email :
//D?tection du champs email
if(!validationError){
var emailfield = document.getElementById("fld_Email");
if(emailfield !== null && emailfield !== undefined ) {
if(emailfield.value !== null && emailfield.value !== undefined && emailfield.value.length>0 ){
var checkEmailFormat = this._checkEmail(emailfield.value)
if(!checkEmailFormat) {
validationError = true;
errorMessage = this._MailErrorMessage;
}
}
}
}
//ajouter un test li� au recaptcha
if(this._recaptchaResponseOK){
errorMessage = "captcha OFF";
validationError = true;
}
if (validationError) {
alert(errorMessage);
valid = false;
return valid;
} else {// si pas d'ereur on submit
jQuery('#validatebutton').addClass('disabled-validatebutton');
jQuery("#easiformWaiting").show();
//Param�tres syst�me
var systemParams = {};
systemParams["fld_formid"] = this._formid;
systemParams["fld_lang"] = this._language;
systemParams["recaptcha_token"] = _recaptchaResponseToken;
////console.log("System Params : ");console.dir(systemParams);
//donn�es du formulaire (type "simple")
var formSimpleData = this._serializeform(document.forms['easiform'], 'rest');
var filesNames = {};
var filesData = {};
//Appel ? la fonction JS en REST
jQuery.support.cors = true; //n?cessaire pour IE10 et IE11
jQuery.ajax({
url: this._formurl,
type:"POST",
data: JSON.stringify({
"fct_name": "jsCreateWebRequest",
"authentication" : {
"userid" : this._restUserId,
"password" : this._restPwd
},
"params": {
"odSystemParams": systemParams,
"odSimpleData" : formSimpleData,
"odInputFiles" : _fileFields
}
}),
contentType:"application/json",
dataType:"json",
crossDomain : true,
success: function(resultSuccess) {
if (resultSuccess) {
if(resultSuccess.status == "OK") {
//console.log("Call OK !");
//console.dir(resultSuccess);
var data = JSON.parse(resultSuccess.data);
if (data.result == 'success') {
jQuery("#easiformWaiting").hide();
//Affichage message de remerciement
if (_thankmessage !== null && _thankmessage.length > 0) alert(_thankmessage);
//Si redirection d�finie, redirection vers URL donn�e
if (data.redirection_url != null && data.redirection_url.length > 0) {
// window.open(data.redirecution_url,'_self');
if(config.redirectionMode=="_blank"){
window.open(data.redirection_url,config.redirectionMode);
}
else {
window.location.href = data.redirection_url;
}
} else {
//Sinon, affichage message de remerciement en lieu et place du formulaire
if (data.thankmessage != null && data.thankmessage.length > 0) {
jQuery('#easiformarea').html(data.thankmessage);
}
}
} else {
//Erreur easiware => consultant ou autre
jQuery("#easiformWaiting").hide();
alert(data.message);
if(_recaptchaEnabled) if (typeof $('#easi_recaptcha_div') != "undefined") { grecaptcha.reset(); }
}
} else {
jQuery("#easiformWaiting").hide();
//console.log("Call OK with status = KO : " + resultSuccess.error);
}
} else {
jQuery("#easiformWaiting").hide();
}
},
error: function (resultError) {
jQuery("#easiformWaiting").hide();
if(_recaptchaEnabled) if (typeof $('#easi_recaptcha_div') != "undefined") { grecaptcha.reset(); }
////console.log("Call KO !")
//console.dir(resultError);
}
});
return true;
}
};
this._createform = function() {
var formtosend ='';
if(this._htmlcontent.length>0){
formtosend = '