function checkMail(email) { return ( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email) )?true:false; }; function createAccount() { switchHelper(); var value = $('word_1').value; if( $('identifiant').value!='' && $('identifiant').value!='http://' && checkMail($('login').value) && $('password').value.length>3 && $('chbx').checked==true && value.length>0 ) { if ( confirmPswd() ) { new Ajax.Request('/includes/api.controler.captcha.php',{ parameters:'word='+value+'&method=json', onSuccess:function(r) { if ( eval(r.responseText)==true ) { new Ajax.Request('/includes/api.controler.account.php',{ parameters: 'action=create&method=json&identifiant='+encodeURIComponent($('identifiant').value)+'&email='+encodeURIComponent($('login').value)+'&password='+encodeURIComponent($('password').value), onSuccess:function(r) { if ( r.responseText.length>0 ) { if ( r.responseText.match('Validation failed: ') ) { new_freecap($('freecap')); $('word_1').value=''; var err = r.responseText.split('Validation failed: '); err = err[1]; alert(err.replace('Key subscription','site référant \"'+$('identifiant').value+'\"\n\n' )+'\n\nVous pouvez vous identifier pour consulter votre compte (ou recevoir votre mot de passe si vous l\'avez oublié),\nen cliquant sur \"mon compte\" en haut à droite' ); } else if ( r.responseText.match('serial: ') ) { var serial = r.responseText.split('serial: '); generateCode(serial[1]); switchAPI(); } } } }); } else { new_freecap($('freecap')); alert("Le mot de confirmation n\'est pas correctement saisi,\nou ce mot est périmé. (régénérez-le avec le bouton fléché orange)"); } } }); } else { alert("votre mot de passe doit faire plus de 4 caractères"); } } else { var err=''; if($('identifiant').value==''||$('identifiant').value=='http://') { err += 'Votre identifiant (site référent), n\'est pas valide.\n'; } if(!checkMail($('login').value)) { err += 'Votre email n\'est pas valide.\n'; } if($('password').value.length<=3 && $('password').value!='') { err += 'Votre mot de passe est trop court.\n'; } if($('password').value=='') { err += 'Votre mot de passe est vide.\n'; } if(value.length<=0) { err += 'Vous devez confirmer le mot secret.\n'; } if ( $('chbx').checked==false ) { err += '\nVous devez être d\'accord avec\nles conditions générales d\'utilisation\npour télécharger l\'API.\n'; } alert( err ); } }; function confirmPswd() { return ($('password').value.length>4)?true:false; } function new_freecap(freecap_img) { if(typeof freecap_img == 'object') { var thesrc = freecap_img.src; var thesrc = thesrc.substring(0,thesrc.lastIndexOf(".")+4); $(freecap_img).src = thesrc+"?"+Math.round(Math.random()*100000); } }; function generateCode(serial) { $('widgetCode').disabled = false; $('widgetCode').value = "\n"+ " var RevDate = new Date();\n"+ " document.write( unescape( \"%3Cscript src=\'\" + ((\"https:\" == document.location.protocol) ? \"https://api2.reversoform.com/www.reversoform.com/includes/js/reversoObj.js\" : \"http://api2.reversoform.com/includes/js/reversoObj.js\") + \"?t=\"+RevDate.getTime()+\"\' type=\'text/javascript\'%3E%3C/script%3E\" ) );\n"+ "\n"+ "\n"+ " /** \n"+ " * powered by reversoform.com\n"+ " * reversoform.com\n"+ " *\n"+ " * 1/ Pour utiliser ce code, complétez les variables ci-dessous \n"+ " * avec valeurs des ID des champs de votre formulaire existant.\n"+ " * Seulement si ces champs existe dans votre formulaire."+ " * ex: \n"+ " * \n"+ " * ...\n"+ " * ObjReverso.company=\'societe\';\n"+ " *\n"+ " *\n"+ " * 2/ Notez que vous ne pouvez utiliser l’API ReversoForm uniquement avec le \n"+ " * serial valide pour le nom de domaine défini lors de l’inscription.\n"+ " *\n"+ " *\n"+ " * 3/ Vous pouvez utiliser la fonction javascript \n"+ " * ObjReverso.reverso(\'0150302010\');\n"+ " * directement pour compléter le formulaire à partir d\'un No\n"+ " * provenant d\'une autre source que la saisie par l\'utilisateur.\n"+ " *\n"+ " *\n"+ " * 4/ La fonction \"ObjReverso.fireCallback\" est appelé systématiquement après la saisie d\'un numéro de téléphone.\n"+ " * Elle est utile si vous souhaitez appliquer des effets Ajax, tel que dérouler le formulaire pour le rendre visible après la completion.\n"+ " *\n"+ " *\n"+ " * 5/ Vous avez le choix de déclencher l\'acion qu\'en bon vous semble, veuillez intégrer le code javacript de déclenchement\n"+ " *\n"+ //" *\n"+ //" * Vous pouvez egalement utiliser votre API en mode REST/JSON : \n"+ //" * /!\\ UNIQUEMENT depuis le nom de domaine definit lors de l\'inscription \n"+ //" * http://api.reversoform.com/includes/api.controler.reverso.php?phone_number=0102030405&serial="+serial+"\n"+ " *\n"+ " **/\n"+ " ObjReverso.serial = '"+serial+"';\n"+ " ObjReverso.phone = '';\n"+ " ObjReverso.company = '';\n"+ " ObjReverso.firstname = '';\n"+ " ObjReverso.lastname = '';\n"+ " ObjReverso.address = '';\n"+ " ObjReverso.zip = '';\n"+ " ObjReverso.city = '';\n"+ " ObjReverso.country = '';\n"+ " ObjReverso.siret = '';\n"+ " ObjReverso.naf = '';\n"+ " ObjReverso.activity = '';\n"+ " \n"+ " ObjReverso.fireCallback = function( response )\n"+ " {\n"+ " if ( response=='NULL' ) \n"+ " {\n"+ " alert('aucune correspondance trouvée.');\n"+ " }\n"+ " else \n"+ " {\n"+ " /*\n"+ " alert( 'prénom: \\t\\t'+ response.first_name +'\\n'+\n"+ " 'nom: \\t\\t'+ response.last_name +'\\n'+\n"+ " 'adresse: \\t\\t'+ response.address +'\\n'+\n"+ " 'ville: \\t\\t'+ response.city +'\\n'+\n"+ " 'code postal: \\t\\t'+ response.zip +'\\n'+\n"+ " 'pays: \\t\\t'+ response.country +'\\n'+\n"+ " 'société: \\t\\t'+ response.company +'\\n'+\n"+ " 'siret: \\t\\t'+ response.siret +'\\n'+\n"+ " 'code pays: \\t\\t'+ response.naf +'\\n'+\n"+ " 'activité: \\t\\t'+ response.activity +'\\n'\n"+ " );\n"+ " */\n"+ " }\n"+ " };\n"+ " \n"+ " try\n"+ " {\n"+ " /*\n"+ " ----- [ CHOIX 1 : déclenchement de l\'action au changement de champs ] -----------\n"+ " (cf : http://www.reversoform.com/blog/)\n"+ " */\n"+ " document.getElementById( ObjReverso.phone ).onblur = function()\n"+ " {\n"+ " ObjReverso.reverso( this.value );\n"+ " };\n"+ " /*\n"+ " ----- [ CHOIX 2 : Déclenchement de l\'action au 10ème chiffre saisie ] -----------\n"+ " (cf : http://www.reversoform.com/blog/)\n"+ " document.getElementById( ObjReverso.phone ).onblur = function()\n"+ " {\n"+ " ObjReverso.reverso( this.value );\n"+ " };\n"+ " ----- [ CHOIX 3 : Déclenchement de l\'action en cliquant sur un bouton ] ---------\n"+ " (cf : http://www.reversoform.com/blog/?cat=1)\n"+ " (cf : http://www.reversoform.com/blog/?cat=6)\n"+ " (cf : http://www.reversoform.com/blog/?cat=8)\n"+ " (cf : http://www.reversoform.com/blog/?cat=9)\n"+ " ----------------------------------------------------------------------------------\n"+ " */\n"+ " \n"+ " }catch(e){};\n"+ "\n"; }; function switchAPI() { Effect.Fade('api_c'+(($('api_c2').style.display=='none')?1:2),{duration:0.0}); Effect.Appear('api_c'+(($('api_c2').style.display=='none')?2:1),{duration:0.4}); } function switchHelper(s) { function HH(but){$$('.floating').each(function(el){Effect.Fade(el.id,{duration:0.1});});setTimeout(function(){if($('floating_'+but)){Effect.Appear('floating_'+but,{duration:0.2});}},200);}; switch (s) { case 'url': HH(s);break; case 'email': HH(s);Effect.Pulsate('login_my_account');break; case 'password' : HH(s);break; default : HH(s);break; } };