NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name France - callbridge // @description Ce script ajoute un bouton "Appeler" qui envoie+compose directement l'appel sur le smartphone (IOS/Android) de son choix. Nécessite un compte CallBridge Pro ou CallBridge // @namespace * // @version 1.02 // @include http://www.pap.fr/annonce/* // @include https://www.pap.fr/annonce/* // @include https://www.pagesjaunes.fr/recherche/* // @include https://www.pagesjaunes.fr/pagesblanches/* // @include https://www.pagesjaunes.fr/annuaire/* // @include https://www.pagesjaunes.fr/carte/* // @include http://www.partenaire-europeen.fr/Annonces* // @include https://www.leboncoin.fr/* // @include http://www.seloger.com/annonces/* // @include https://www.paruvendu.fr/* // @include http://www.lesparticuliers.fr/* // @include http://www.vivastreet.com/* // @include http://www.topannonces.fr/* // @include https://zoomcar.fr/* // @include http://www.lacentrale.fr/* // @include https://occasion.autoplus.fr/* // @include http://occasion.321auto.com/* // @author mcleed // @require http://code.jquery.com/jquery-3.1.0.min.js // @resource icon28 https://getcallbridge.com/wp-content/uploads/2017/01/call28.png // @resource icon28W https://getcallbridge.com/wp-content/uploads/2017/01/call28white.png // @resource settings28 https://getcallbridge.com/wp-content/uploads/2017/01/settings28.png // @resource settings28W https://getcallbridge.com/wp-content/uploads/2017/01/settings28W.png // @grant GM_getResourceText // @grant GM_getResourceURL // @grant GM_getValue // @grant GM_setValue // ==/UserScript== $("head").append("<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css\">"); // Quel Site var quSite=0; var lUrl = document.location.href; if (lUrl.lastIndexOf("//www.pap.fr/")>=0 ) quSite=1; // de particutiers à particuliers if (lUrl.lastIndexOf("//www.pagesjaunes.fr/")>=0) quSite=2; // pagesjaunes ET pagesblanches if (lUrl.lastIndexOf("//www.partenaire-europeen.fr/")>=0) quSite=3; // partenaire-europeen if (lUrl.lastIndexOf("//www.leboncoin.fr/")>=0) quSite=4; // leboncoin if (lUrl.lastIndexOf("/www.seloger.com/")>=0) quSite=5; // seloger.com if (lUrl.lastIndexOf("/www.paruvendu.fr/")>=0) quSite=6; // paruvendu.fr if (lUrl.lastIndexOf("/www.lesparticuliers.fr/")>=0) quSite=7; // lesparticuliers.fr if (lUrl.lastIndexOf("/www.vivastreet.com/")>=0) quSite=8; // vivastreet.com if (lUrl.lastIndexOf("/www.topannonces.fr/")>=0) quSite=9; // topannonces.fr if (lUrl.lastIndexOf("/zoomcar.fr/")>=0) quSite=10; // zoomcar if (lUrl.lastIndexOf("/www.lacentrale.fr/")>=0) quSite=11; // lacentrale if (lUrl.lastIndexOf("/occasion.autoplus.fr/")>=0) quSite=12; // occasion.autoplus if (lUrl.lastIndexOf(".321auto.com/")>=0) quSite=13; // 321auto if (lUrl.lastIndexOf("//www.pagesjaunes.fr/carte")>=0) quSite=14; // pagesjaunes CARTE // Bouton APPELER long var btnAppeler = document.createElement( 'button' ); btnAppeler.setAttribute( 'type', 'button' ); btnAppeler.setAttribute( 'style', 'margin-top : 1rem;' ); btnAppeler.setAttribute( 'title', 'avec CallBridge'); btnAppeler.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler le numéro'; // Bouton APPELER court var btnAppel = document.createElement( 'button' ); btnAppel.setAttribute( 'type', 'button' ); btnAppel.setAttribute( 'style', 'margin-top : 1rem;' ); btnAppel.setAttribute( 'title', 'avec CallBridge'); btnAppel.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '">'; // Bouton APPELER court var btnAppel2 = document.createElement( 'button' ); btnAppel2.setAttribute( 'type', 'button' ); btnAppel2.setAttribute( 'style', 'margin-top : 1rem;' ); btnAppel2.setAttribute( 'title', 'avec CallBridge'); btnAppel2.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '">'; // create button ----SMS ---- var btnSms = document.createElement( 'button' ); btnSms.setAttribute( 'value', 'SMS' ); btnSms.setAttribute( 'type', 'button' ); btnSms.setAttribute( 'style', 'margin-top : 1rem;' ); btnSms.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '">sms'; var btnParametres = document.createElement( 'button' ); btnParametres.setAttribute( 'value', 'Parametre compte CallBridge' ); //btnParametres.setAttribute( 'type', 'button' ); btnParametres.setAttribute( 'id', 'settings' ); btnParametres.setAttribute( 'style', 'margin-top : 1rem;' ); btnParametres.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("settings28") + '"> Paramètres CallBridge'; // 1 ligne var UneLigne = document.createElement( 'button' ); UneLigne.setAttribute( 'value', 'UneLigne' ); UneLigne.setAttribute( 'id', 'UneLigne' ); UneLigne.setAttribute( 'style', 'margin-top : 1rem;' ); UneLigne.innerHTML = "<br>"; var cbuser = GM_getValue("cbuser", ''); switch (quSite){ case 1: // pap.fr ------------------------------------------------------------------------------ btnAppeler.innerHTML = '<img src="'+ GM_getResourceURL("icon28") + '"> Appeler le numéro'; btnAppel.innerHTML = '<img src="'+ GM_getResourceURL("icon28") + '"> Appeler le numéro'; btnAppel2.innerHTML = '<img src="'+ GM_getResourceURL("icon28") + '"> Appeler le numéro'; btnSms.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28") + '"> SMS'; btnSms.setAttribute( 'class', 'btn btn-small btn-type-1 btn-icon' ); btnAppeler.setAttribute( 'class', 'btn btn-small btn-type-1 btn-icon' ); btnAppel.setAttribute( 'class', 'btn btn-small btn-type-1 btn-icon' ); btnAppel2.setAttribute( 'class', 'btn btn-small btn-type-1 btn-icon' ); btnParametres.setAttribute( 'class', 'btn btn-small btn-type-1 btn-icon' ); // Création des boutons callbridge var cbuser = GM_getValue("cbuser", ''); var mbouton = document.getElementsByClassName("btn-display-phone btn-telephone"); mbouton[0].appendChild( btnAppeler ); mbouton[0].appendChild( btnSms ); mbouton[0].appendChild( btnParametres ); if (mbouton.length>1) {mbouton[1].appendChild( btnAppel );mbouton[1].appendChild( btnParametres );} else {mbouton[0].appendChild( btnParametres );} if (mbouton.length>2) {mbouton[2].appendChild( btnAppel2)} // Clic sur "appeler le numéro" btnAppeler.onclick=function () {jAppelle1("Call");} btnAppel.onclick=function () {jAppelle1("Call");} btnAppel2.onclick=function () {jAppelle1("Call");} btnSms.onclick=function () {jAppelle1("SMS");} function jAppelle1(pCall){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var mbouton = document.getElementsByClassName('tel-wrapper hidden')[0]; if (!mbouton) {return;} var lText=mbouton.innerHTML; var sTel=extraitChaine(lText,1,"<"); var mText = document.getElementsByClassName('title')[0].innerHTML; var sText=sansBlanc(mText); if (sTel>'') {Put_Notification(pCall,sTel,1,sText);} if (m==2) location.reload(); }; break; case 2: // pagesjaunes.fr ------------------------------------------------------------------------------ // 1 bouton "j'appelle" par ligne du tableau var uls = document.querySelectorAll('.barre-liens-contact '); var markers = []; for (let i = 0; i < uls.length; i++) { markers[i] = document.createElement('li'); markers[i].setAttribute( 'class', 'item plan value'); markers[i].setAttribute( 'id', 'appeler'+i); markers[i].setAttribute( 'title', 'Avec CallBridge'); markers[i].innerHTML = '<a class="pj-link"><img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28") + '"><span class="value">Appeler</span></a>'; uls[i].appendChild(markers[i]); markers[i].onclick = function(){ ClicAppeler(i);}; // <----- !!! } btnParametres.style.position = 'fixed'; btnParametres.style.textTransform = 'uppercase'; btnParametres.style.fontWeight = '700'; btnParametres.style.color = '#303030'; btnParametres.style.fontFamily = '"Open Sans","Arial","Helvetica",sans-serif'; btnParametres.style.padding = '10px'; btnParametres.style.border = 'thin solid rgb(199,199,199)'; btnParametres.style.boxShadow = '0 0 3rem rgba(48,48,48,0.4)'; btnParametres.style.borderRadius = '3rem 3rem 3rem 3rem'; btnParametres.style.bottom = '100px'; btnParametres.style.right = '10px'; body = document.getElementsByTagName('body')[0]; body.appendChild(btnParametres); // Clic sur "j'appelle" AfficherMap:map-actions hidden-phone hidden-tablet ClassN°Tel:item bi-contact-tel ClassDuBouton:item-cta bi-contact-tel function ClicAppeler(pi){ var ni = 0; ni = pi * 2 + 1; var iTit = 0, sTel = '', sText = '', iAdrD = 0, iAdrF = 0, sSep = "", s1='', sRue='', sVille=''; // Nom du contact var lDenomination = document.getElementsByClassName('denomination-links'); var lNom = sansBlanc(lDenomination[pi].innerHTML); // Adresse (rue et ville) du Contact var lAdresse = document.getElementsByClassName('adresse-container'); var sAdr=sansBlanc(chAffichages(lAdresse[pi].innerHTML)); // Extraction du n° TEL, MOBILE et FAX var lNumero = document.getElementsByClassName('item bi-contact-tel'); var lArcep = document.getElementsByClassName('main-contact-container clearfix'); var lTel = sansBlanc(chAffichages(lArcep[pi].innerHTML)); var sTel = leNumerique(lTel); var lTels=sansBlanc(chAffichages(lNumero[ni].innerHTML)); if (sTel>'') {Put_Notification("Call",sTel,1,sAdr);} else {alert("sans n° Tel : "+sAdr);} } function quTitle(pi,pText){ var iDeb=0, iFin=0, F=1; for (i=pi;i<pText.length;i++) if (F==1 && pText.substr(i,12)=='"num" title=') {iDeb=i+13;F=2;} if (iDeb===0) return ''; for (i=iDeb;i<pText.length;i++) if (F==2 && pText.substr(i,1)=='"') {iFin=i;F=3;} if (iFin===0) return ''; var i=iFin-iDeb; return pText.substr(iDeb,i); } break; case 3: // partenaire-europeen ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'phone' ); btnParametres.setAttribute( 'class', 'phone' ); btnParametres.style.zIndex = '120'; // Création des boutons callbridge var mbouton = document.getElementsByClassName('phone-container')[0]; document.getElementsByClassName('phone-container')[ 0 ].appendChild( btnAppeler ); document.getElementsByClassName('phone-container')[ 0 ].appendChild( btnParametres ); // Clic sur "appeler le numéro" btnAppeler.onclick=function Notification_Call(){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var mbouton = document.getElementsByClassName('phone-container')[0]; if (!mbouton) {return;} var lText=mbouton.outerHTML; var sTx1=chBalise(lText,"href"); var sTel=extraitChaine(sTx1,2,":"); var mText = document.getElementsByClassName('product-name')[0].innerHTML; var sText=sansBlanc(mText); if (sTel>'') {Put_Notification("Call",sTel,1,sText);} }; break; case 4: // leboncoin ------------------------------------------------------------------------------ btnAppeler.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28") + '"> Appeler le numéro'; btnAppeler.setAttribute( 'class', 'button-lightgrey large trackable' ); btnParametres.setAttribute( 'class', 'button-mediumgrey large' ); btnParametres.setAttribute( 'style', 'margin : 1rem;' ); var mbouton = document.getElementsByClassName('button-orange large phoneNumber trackable')[0]; var sClass=document.getElementsByClassName('box-grey-light mbs align-center') var m=sClass.length-1; sClass[m].appendChild( btnAppeler ); sClass[m].appendChild( btnParametres ); // Clic sur "appeler le numéro" btnAppeler.onclick=function (){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} var mbouton = document.getElementsByClassName('button-orange large phoneNumber trackable'); if (mbouton.length=0) mbouton = document.getElementsByClassName('button-blue large trackable'); if (mbouton.length>0) mbouton[0].firstElementChild.click(); setTimeout(function() { var Notel = document.getElementsByClassName('phone_number font-size-up'); var sText = document.getElementsByClassName('no-border'); var sTex2 = document.getElementsByClassName('item_price clearfix') var sTex3 = document.getElementsByClassName('line line_city'); var sTex4 = chAffichageClass(sTex3[0].innerHTML,"value"); if (Notel) {Put_Notification("Call",Notel[0].firstElementChild.innerHTML,1,sansBlanc(sText[0].innerHTML)+' '+sansBlanc(chAffichages(sTex2[0].innerHTML))+" "+sTex4);} }, 2000); }; break; case 5 : // seloger.com ------------------------------------------------------------------------------ btnAppeler.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler le numéro'; btnAppeler.setAttribute( 'class', 'b-btn tagClick ' ); btnParametres.setAttribute( 'class', 'b-btn b-warn tagClick ' ); // Création des boutons callbridge var mbouton = document.getElementsByClassName('form-contact jsLockSubmit')[0]; document.getElementsByClassName('form-contact jsLockSubmit')[ 0 ].appendChild( btnAppeler ); document.getElementsByClassName('form-contact jsLockSubmit')[ 0 ].appendChild( btnParametres ); // Clic sur "appeler le numéro" btnAppeler.onclick=function (){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var mbouton = document.getElementsByClassName('btn-phone b-btn b-second fi fi-phone tagClick')[0]; if (!mbouton) {return;} var lText=mbouton.outerHTML; var sTel=chBalise(lText,"data-phone"); var mText = document.getElementsByClassName('detail-title title1')[0].innerHTML; var sText=sansBlanc(mText); if (sTel>'') {Put_Notification("Call",sTel,1,sText);} }; break; case 6 : // paruvendu ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'im12_cp_form_submit btndetails14_contact a' ); btnAppel.setAttribute( 'class', 'im12_cp_form_submit btndetails14_contact a' ); btnAppel.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler le numéro'; btnAppel2.setAttribute( 'class', 'app' ); btnParametres.setAttribute( 'class', 'im12_cp_form_submit btndetails14_contact a' ); btnParametres.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("settings28W") + '"> Paramètres CallBridge'; var sClass=document.getElementsByClassName('btndetails14_contact tel_contact') sClass[0].appendChild( btnAppeler ); sClass[0].appendChild( btnParametres ); if (sClass.length>1) {sClass[1].appendChild( btnAppel );sClass[1].appendChild( btnParametres );} // document.getElementsByClassName('head17-rappelcrit head17-rappelcrit-shrink')[ 0 ].appendChild( btnAppel ); var sClas2=document.getElementsByClassName('imdet15-LiensContact'); if (sClas2.length>0) sClas2[0].appendChild( btnAppel2 ); // Clic dans le header var BtnHeaderApp=document.getElementById('Header_btn_app') BtnHeaderApp.innerHTML="Appel+"; BtnHeaderApp.onclick=function() {jAppelle6(0)}; // Clic sur "recherche et envoi du N° de téléphone" btnAppeler.onclick=function (){jAppelle6(1)}; btnAppel.onclick=function (){jAppelle6(1)}; btnAppel2.onclick=function (){jAppelle6(1)}; function jAppelle6(nOuvre){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} var mbouton = document.getElementsByClassName('btndetails14_contact tel_contact'); // if (mbouton.length<1) mbouton = document.getElementsByClassName('btndetails14_contact tel_contact basauto_contact flol'); if (mbouton.length>0 && nOuvre) {mbouton[0].firstElementChild.click();} setTimeout(function() { var Notel = document.getElementsByClassName('newpop13-numtel'); if (Notel.length>0) { var sText = document.getElementsByClassName('newpop13-limitann'); var mText = extraitChaine(sText[0].innerHTML,1,"<span");} else { Notel = document.getElementsByClassName('im12_tel'); var sText = document.getElementsByClassName('newpop13-limitann newpop13-txtann flol'); var mText = (sansBlanc(chAffichages(sText[0].innerHTML))) } sText = sansRC(mText); if (Notel) {Put_Notification("Call",Notel[0].firstElementChild.innerHTML,1,sText);} document.getElementsByClassName('fancybox-item fancybox-close')[ 0 ].click(); }, 2000); }; break; case 7 : // lesparticuliers ------------------------------------------------------------------------------ $(document).ready(function() { var sLien0 = document.getElementsByClassName('showNumberBtn'); if (sLien0.length>0) {fBtnAppeler(sLien0,'showNumberBtn');} var sLien2 = document.getElementsByClassName('showNumber1Btn'); if (sLien2.length>0) {fBtnAppeler(sLien2,'showNumber1Btn');} var sLien3 = document.getElementsByClassName('showNumber2Btn'); if (sLien3.length>0) {fBtnAppeler(sLien3,'showNumber2Btn');} var sLien4 = document.getElementsByClassName('showMailBtn'); if (sLien4.length>0) {fBtnSetting(sLien4,'showMailBtn');} }); function fBtnAppeler(pLiens,pClass){ var makers = []; for (let i = 0; i < pLiens.length; i++) { makers[i] = document.createElement( 'button' ); makers[i].setAttribute( 'type', 'button' ); makers[i].setAttribute( 'style', 'margin-top : 1rem;' ); makers[i].setAttribute( 'title', 'avec CallBridge'); makers[i].innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler Numéro'; makers[i].setAttribute( 'class', 'btn green icn-only poplight scrollToTopButton' ); makers[i].style.fontWeight = '300'; makers[i].style.display = 'block'; //makers[i].style.backgroundColor = '#a50f78'; makers[i].style.padding = '7px 14px'; makers[i].style.color = 'white'; makers[i].style.border = '0px'; pLiens[i].appendChild(makers[i]); makers[i].onclick=function (){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} var mbouton = document.getElementsByClassName(pClass)[i]; if (mbouton) {mbouton.firstElementChild.click();} setTimeout(function() { var Notel = pLiens[i].getElementsByClassName('btnText')[0].innerHTML; var Notel2 = document.getElementsByClassName('rsva_number'); if (Notel2[0]) {var s1=extraitChaine(Notel2[0].innerHTML,2,">");Notel=extraitChaine(s1,1,"<");} // Cas 0899... var sText = document.getElementById('scrollcontent'); var mText = sansBlanc(sText.innerHTML); if (Notel) {Put_Notification("Call",Notel,1,mText);} }, 2000); }; } } function fBtnSetting(pLiens,pVoir){ var makers = []; for (let i = 0; i < pLiens.length; i++) { makers[i] = document.createElement( 'button' ); makers[i].setAttribute( 'type', 'button' ); makers[i].setAttribute( 'style', 'margin-top : 1rem;' ); makers[i].innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("settings28W") + '"> Settings'; makers[i].setAttribute( 'class', 'btn green icn-only poplight scrollToTopButton' ); makers[i].style.fontWeight = '300'; makers[i].style.display = 'block'; makers[i].style.backgroundColor = '#f68c21'; makers[i].style.padding = '7px 14px'; makers[i].style.color = 'white'; makers[i].style.border = '0px'; // pLiens[i].appendChild(UneLigne); pLiens[i].appendChild(makers[i]); makers[i].onclick=function (){ if (menuobj.style.visibility == 'hidden') { menuobj.style.visibility = 'visible'; document.activeElement.blur(); menuobj.style.transition = 'right 1s ease-in-out'; menuobj.style.WebkitTransition = 'right 1s ease-in-out'; menuobj.style.MozTransition = 'right 1s ease-in-out'; menuobj.style.right = '1px'; } else { menuobj.style.visibility = 'hidden'; document.activeElement.blur(); } }; } } break; case 8 : // vivastreet.com ------------------------------------------------------------------------------ var btnAppeler1 = document.createElement( 'button' ); btnAppeler1.setAttribute( 'type', 'button' ); btnAppeler1.setAttribute( 'style', 'margin-top : 0rem;' ); btnAppeler1.setAttribute( 'title', 'avec CallBridge'); btnAppeler1.setAttribute( 'class', 'kiwii-btn kiwii-btn-large' ); btnAppeler1.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28") + '"><a> Appeler le numéro</a>'; var btnAppeler2 = document.createElement( 'button' ); btnAppeler2.setAttribute( 'type', 'button' ); btnAppeler2.setAttribute( 'style', 'margin-top : 0rem;' ); btnAppeler2.setAttribute( 'title', 'avec CallBridge'); btnAppeler2.setAttribute( 'class', 'kiwii-btn kiwii-btn-large' ); btnAppeler2.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28") + '"><a> Appeler le numéro</a>'; btnParametres.setAttribute( 'class', 'kiwii-btn kiwii-btn-large' ); // Création des boutons callbridge var cbuser = GM_getValue("cbuser", ''); var lClass="kiwii-margin-ver-xxsmall kiwii-table-cell"; document.getElementsByClassName(lClass)[0].appendChild( btnAppeler1 ); document.getElementsByClassName(lClass)[1].appendChild( btnAppeler2 ); document.getElementsByClassName(lClass)[1].appendChild( btnParametres ); // Clic sur "appeler le numéro" btnAppeler1.onclick=function (){ Appeler()} btnAppeler2.onclick=function (){ Appeler()} function Appeler(){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var bbouton = document.getElementsByClassName('phone_link phone_link_right')[0]; bbouton.click(); var mbouton = document.getElementsByClassName('vs-phone-button kiwii-font-weight-bold kiwii-position-relative kiwii-padding-left-large')[0]; if (!mbouton) {return;} var lText=mbouton.outerHTML; var sTel=chBalise(lText,"data-phone-number"); var mText = document.getElementsByClassName('kiwii-float-left kiwii-span-10')[0].innerHTML; var mText2= document.getElementsByClassName('kiwii-breadcrumbs mmlightgrey mmchevron')[0].lastElementChild.innerHTML; var sText1 = chBalise(mText2,"title",4); if (sText1==='') {sText1 = chBalise(mText2,"title",3);} var s1=extraitChaine(mText,2,">");sText=extraitChaine(s1,1,"<"); if (sTel>'') {Put_Notification("Call",sTel,1,sText+' '+sText1);} document.activeElement.blur(); }; break; case 9 : // topannonces.fr ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'btn-secondary w-275 h-40 blue contacterAdv w-190 w-border' ); btnAppeler.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '"><b> Appeler le numéro</b>'; btnParametres.setAttribute( 'class', 'btn-secondary w-275 h-40 blue contacterAdv w-190 w-border' ); btnParametres.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("settings28W") + '"><b> Paramètres CallBridge</b>'; // Création des boutons callbridge var cbuser = GM_getValue("cbuser", ''); var lClass="span12 border-button-zone"; var m=0; var mbouton = document.getElementsByClassName(lClass)[m]; if (!mbouton) {m=1;mbouton = document.getElementsByClassName(lClass)[m];} if (!mbouton) return; document.getElementsByClassName(lClass)[m].appendChild( btnAppeler ); document.getElementsByClassName(lClass)[m].appendChild( btnParametres ); // Clic sur "appeler le numéro" btnAppeler.onclick=function (){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var mbouton = document.getElementsByClassName('seeNumber btn-secondary w-275 h-40 blue contacterAdv w-190 w-border')[0]; if (mbouton) {mbouton.firstElementChild.click();} setTimeout(function() { var Notel = document.getElementsByClassName('font-15 tatiana')[1].innerHTML; var sText = document.getElementsByClassName('spanTitle')[0].innerHTML; var s1=extraitChaine(sText,3,">");var s2=extraitChaine(s1,1,"<"); var s3=extraitChaine(sText,7,">");var s4=extraitChaine(s3,1,"<"); if (Notel) {Put_Notification("Call",Notel,1,s2+" "+sansBlanc(s4));} }, 2000); }; break; case 10 : // zoomcar.fr ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'btn btn-flat telephone ' ); // modal-trigger btnParametres.setAttribute( 'class', 'btn btn-flat mail ' ); btnParametres.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("settings28W") + '"><b> Paramètres CallBridge</b>'; // Création des boutons callbridge var cbuser = GM_getValue("cbuser", ''); var lClass="contact-button"; var m=0; var mbouton = document.getElementsByClassName(lClass)[m]; if (!mbouton) {m++;mbouton = document.getElementsByClassName(lClass)[m];} if (!mbouton) return; //TEST---------------------- var liens = document.getElementsByClassName('contact-button'); //alert(liens.length); var makers = []; for (let i = 0; i < liens.length; i++) { makers[i] = document.createElement( 'button' ); makers[i].setAttribute( 'type', 'button' ); makers[i].setAttribute( 'style', 'margin-top : 1rem;' ); makers[i].setAttribute( 'title', 'avec CallBridge'); makers[i].innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler le numéro'; makers[i].setAttribute( 'class', 'btn btn-flat telephone ' ); makers[i].style.fontWeight = '300'; makers[i].onclick = function () {jappelle10();} ; makers[i].style.display = 'inline-table'; //makers[i].style.backgroundColor = '#a50f78'; //makers[i].style.padding = '7px 14px'; makers[i].style.color = 'white'; makers[i].style.border = '0px'; liens[i].appendChild(makers[i]); } //FIN DU TEST--------------------- Unquoter les 2 lignes suivantes si Test supprimé //document.getElementsByClassName(lClass)[0].appendChild( btnAppeler ); document.getElementsByClassName(lClass)[1].appendChild( btnParametres ); // Clic sur "appeler le numéro" //btnAppeler.onclick=function (){ function jappelle10(){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var voirTelephone = document.getElementsByClassName("contact-button")[0].firstElementChild; voirTelephone.setAttribute("class","btn btn-flat telephone"); voirTelephone.click(); setTimeout(function() { var sTel = document.getElementById("telephone-contact-detail-content").firstElementChild.innerHTML; var sText = document.getElementsByClassName('sixteen-columns row title-price')[0].childNodes; var nText = sText[1].childNodes, xText=sansBlanc(sText[1].innerHTML); var yText=sansSpan(xText);sText=sansRC(yText); if (sTel) {Put_Notification("Call",sTel,1,sText);} var fermeTelephone = document.getElementsByClassName('modal-action modal-close waves-effect waves-green btn-flat')[1]; fermeTelephone.click(); },2000); setTimeout(function() { var fermeDernier = document.getElementsByClassName('modal-content'); // alert(fermeDernier[3].innerHTML); fermeDernier[3].firstElementChild.click(); },5000); } break; case 11 : // LaCentrale ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'btnRed' ); btnAppel.setAttribute( 'class', 'btnRed' ); btnAppeler.style.width = "180px"; btnAppel.setAttribute( 'style', 'width : 235px;' ); btnParametres.setAttribute( 'style', 'width : 235px;' ); btnParametres.setAttribute( 'class', 'btnRed' ); btnParametres.innerHTML = '<img style="vertical-align: middle; margin-left : 0.2rem; margin-right : 0rem;" src="'+ GM_getResourceURL("settings28W") + '"> Settings CallBridge '; btnAppel.innerHTML = '<img style="vertical-align: middle; ; margin-left : 0.4rem; margin-right : 0.4rem;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler le numéro '; btnAppeler.innerHTML = '<img style="vertical-align: middle; ; margin-left : 0.4rem; margin-right : 0.4rem;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler le numéro'; // Création des boutons callbridge var cbuser = GM_getValue("cbuser", ''); var mBox = document.getElementsByClassName("boxContent"); if (mBox.length>0) {mBox[0].appendChild( btnAppeler );mBox[0].appendChild( btnParametres );} if (mBox.length>1) {mBox[1].appendChild( UneLigne );mBox[1].appendChild( btnAppel );mBox[1].appendChild( btnParametres );} // Clic sur "appeler le numéro" btnAppeler.onclick=function (){ jAppelle11() } btnAppel.onclick=function (){ jAppelle11() } function jAppelle11(){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var sTel = document.getElementsByClassName("phoneNumber1")[0].firstElementChild.innerHTML; var sText = document.getElementsByClassName("iophfzp")[0].firstElementChild.innerHTML; sText += " "+document.getElementsByClassName("versionTxt txtGrey7C sizeC mB10 hiddenPhone")[0].innerHTML; sText += " "+document.getElementsByClassName("kmTxt sizeC")[0].innerHTML; sTel = sansBlanc(sansSpan(sTel));sText = sansBlanc(sansSpan(sText)); if (sTel) {Put_Notification("Call",sTel,1,sText);} }; break; case 12 : // occasion.autoplus.fr ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'pa-btn js-show-phone' ); btnParametres.setAttribute( 'class', 'pa-btn js-show-phone' ); btnParametres.innerHTML = '<img src="'+ GM_getResourceURL("settings28") + '">Settings CallBridge'; // Création des boutons callbridge var cbuser = GM_getValue("cbuser", ''); var lClass="pa-contact"; var m=0; var mbouton = document.getElementsByClassName(lClass)[m]; if (!mbouton) {m++;mbouton = document.getElementsByClassName(lClass)[m];} if (!mbouton) return; document.getElementsByClassName(lClass)[m].appendChild( btnAppeler ); document.getElementsByClassName(lClass)[m].appendChild( btnParametres ); // Clic sur "appeler le numéro" btnAppeler.onclick=function (){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var sTel = document.getElementsByClassName("pa-btn js-phone")[1].innerHTML; var sText = document.getElementsByClassName("pa-make-model")[0].innerHTML; sText += " "+document.getElementsByClassName("pa-car")[0].innerHTML; sText += " "+document.getElementsByClassName("avg-quotation__price")[0].innerHTML; sTel = sansBlanc(sansSpan(sTel));sText = sansBlanc(sansSpan(sText)); if (sTel) {Put_Notification("Call",sTel,1,sText);} }; break; case 13 : // http://occasion.321auto.com ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'btn bold' ); btnAppel.innerHTML = '<img style="vertical-align: middle;" src="'+ GM_getResourceURL("icon28W") + '"> Appeler le numéro'; btnAppel.setAttribute( 'class', 'btn lsearch bold' ); btnParametres.setAttribute( 'class', 'btn bold' ); btnParametres.innerHTML = '<img src="'+ GM_getResourceURL("settings28") + '">Settings CallBridge'; // Création des boutons callbridge var cbuser = GM_getValue("cbuser", ''); var mBox2 = document.getElementsByClassName("contact_action2"); if (mBox2.length>0) {mBox2[0].appendChild( btnAppeler );mBox2[0].appendChild( btnParametres );} var mBox = document.getElementsByClassName("contact_action"); if (mBox.length>0) {mBox[0].appendChild( btnAppel );} // Clic sur "appeler le numéro" btnAppeler.onclick=function (){ jAppelle13() } btnAppel.onclick=function (){ jAppelle13() } function jAppelle13(){ if (cbuser<=' ') {menuobj.style.visibility = 'visible';return;} if (menuobj.style.visibility=='visible') {menuobj.style.visibility='hidden';} var voirTelephone = document.getElementsByClassName("bouton btn-red")[0].firstElementChild; voirTelephone.click(); setTimeout(function() { var sTel = document.getElementsByClassName("phone")[0].innerHTML; var mText = document.getElementById("DetailHeader").innerHTML; var sText = document.getElementsByTagName("h1")[0].innerHTML; sText += " "+document.getElementsByTagName("p")[0].innerHTML; sTel = sansBlanc(sansSpan(sTel));sText = sansBlanc(sansSpan(sText)); if (sTel) {Put_Notification("Call",sTel,1,sText);} },2000); }; break; case 14 : // pagesjaunes/carte ------------------------------------------------------------------------------ btnAppeler.setAttribute( 'class', 'icon icon-liste' ); var cbuser = GM_getValue("cbuser", ''); document.getElementsByClassName("outils")[0].appendChild( btnAppeler ); btnAppeler.onclick=function(){ var lTel = document.getElementsByClassName("item bi-contact-tel")[0].innerHTML; var sTel = chBalise(lTel,"title"); // alert(lTel+" ++++++ "+sTel+" ==== "+sTel.length); if (sTel.length>20) sTel = chBalise(lTel,"title",2); var lText = document.getElementsByClassName("bloc-denom")[0].innerHTML; var sText = chAffichageClass(lText,"denom")+' '+chAffichageClass(lText,"streetAddress")+' '+chAffichageClass(lText,"postalCode")+' '+chAffichageClass(lText,"addressLocality"); if (sTel) {Put_Notification("Call",sTel,1,sText);} else {alert("Sans n° Tel+ "+sText)} } } // ========================================================= utilitaires ==================================================================== utilitaires ========================================= // ========================================================= utilitaires ==================================================================== utilitaires ========================================= // Voir la fenetre Settings btnParametres.onclick = function () { if (menuobj.style.visibility == 'hidden') { menuobj.style.visibility = 'visible'; document.activeElement.blur(); menuobj.style.transition = 'right 1s ease-in-out'; menuobj.style.WebkitTransition = 'right 1s ease-in-out'; menuobj.style.MozTransition = 'right 1s ease-in-out'; menuobj.style.right = '1px'; } else { menuobj.style.visibility = 'hidden'; document.activeElement.blur(); } }; // retourne la balise et la valeur sous la forme : <Balise xsd:type="xsd:string">Valeur</Balise> function AjBalise(pBalise,pValeur) { var sRetour = "<"+pBalise+" xsd:type=\"xsd:string\" >"+pValeur+"</"+pBalise+">"; return sRetour; } // Prépare la requete Put_Notification (call ou sms) à envoyer par SendHttp function Put_Notification(pCallSms,pPhone,pImmediat,pText) { if (pCallSms.lastIndexOf("!")>=0) {AfficheToast(pPhone+"<br>"+pText);return;} var cbuser = GM_getValue("cbuser", ''); var cbpassword = GM_getValue("cbpassword", ''); if (pPhone<=' ') return; if (!pText || pText<' ') pText="Call from callbridge ..monkey"; var requete=""; requete="<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/1999/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\"><soap:Body>"; requete += AjBalise("pLogin",cbuser); // Login du compte CallBridge requete += AjBalise("pPass",cbpassword); // Password du compte CallBridge requete += AjBalise("pDatetime",TheDateTime() ); // Renvoie sous forme :AAAAMMJJhhmmss Ex: 20170120093425 pour le 20/01/2017 à 09h34m25s requete += AjBalise("pImmediate",pImmediat); // 1 = appel immédiat 0 = affichage (pour action manuelle de l'utilisateur) requete += AjBalise("pRecipients",""); // Nom de l'utilisateur (smartphone) qui doit rappeler requete += AjBalise("pTitle","CallBridge"); // Titre de la notification requete += AjBalise("pPhones",pPhone); // Les n° de téléphone à appeler requete += AjBalise("pText",StringToUTF8(pText)); // Texte optionnel pour l'appelant requete += AjBalise("pPost","monkey"); // Poste ayant envoyé la notification requete += "</soap:Body></soap:Envelope>"; var sFonction="Put_Notification_"+pCallSms; SendHttp(requete,sFonction,AfficheError,pPhone+"<br>"+pText); // Envoi de la requete en XML et le nom du Service à contacter } // Envoi HTTP effectif en POST (Free ou Pro) function SendHttp(pRequete,pService,pCallBack,pMess) { var cbFreePro = GM_getValue("cbFreePro", 0); var params = ''; if (cbFreePro===0) pCallBack("Choose CallBridge Free or CallBridgePro"); if (cbFreePro==1) params = 'xml='+pRequete+'&action='+"urn:CallBridgeApi/"+pService; if (cbFreePro==2) params = 'xml='+pRequete+'&action='+"urn:CallBridgeProApi/"+pService; var xmlhttp; xmlhttp = new XMLHttpRequest(); if (cbFreePro==1) xmlhttp.open("POST","https://www.mcleed.net/CallBridgeApi_WEB/awws/CallBridgeApi.awws",true); if (cbFreePro==2) xmlhttp.open("POST","https://www.mcleed.net/CallBridgeProApi_WEB/awws/CallBridgeProApi.awws",true); // xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8; "); // au retour de la fonction on indique combien sont envoyés xmlhttp.onreadystatechange = function() { // alert("Rd:"+xmlhttp.readyState+" st:"+xmlhttp.status+" tx:"+xmlhttp.statusText ) if (xmlhttp.readyState==4 && xmlhttp.status==200 ) { var lRetour = xmlhttp.responseText; var tChaine = lRetour.split("Result>"); var tReponse = tChaine[1].split("</"); if (pCallBack) {pCallBack(tReponse[0],pMess);} } }; xmlhttp.send(params); } // Affiche OK ou OK de sendHttp Erreur ou Compte rendu function AfficheError(pErreur,pMessage){ var tMots = pErreur.split('/*'); var sErreur = tMots[0], lAffiche=""; if (tMots.length>1) sErreur+=" "+tMots[1]; if (pErreur.substr(0,2)=="KO") {lAffiche=pErreur;} else {lAffiche=sErreur;} var sRc="<br/>"; sErreur=lAffiche.replace(/;/g,sRc); if (pMessage) sErreur+=" : "+pMessage AfficheToast(sErreur); } // Retourne la date et heure locale sous la forme AAAAMMJJhhmmss function TheDateTime(){ var ladate=new Date(); var Y=ladate.getFullYear(); var M=ladate.getMonth()+1; if (M<10) {M = "0" + M;} var D=ladate.getDate(); if (D<10) {D = "0" + D;} var h=ladate.getHours(); if (h<10) {h = "0" + h;} var m=ladate.getMinutes(); if (m<10) {m = "0" + m;} var s=ladate.getSeconds(); if (s<10) {s = "0" + s;} return Y+""+M+""+D+""+h+""+m+""+s; } //Menu Icone theme var headers = document.getElementsByTagName('h2'); var menu = '<li class="uppercase bold trackable" style="text-align: center;text-transform: uppercase;font-weight: 700;">CallBridge Settings</li><br>'; menu += '<li>Utilisateur (email):</li><li><input type="text" id="cbmail" name="email"></li><br>'; menu += '<li>Mot de passe:</li><li><input type="text" id="cbpassword" name="Password"></li><br>'; menu += '<li><button id="cbmodepro" type=button title="Vérifier si l\'utilisateur CallBigePro existe">Pro</button> '; menu += '<button id="cbmodefree" type=button title="Vérifier si l\'utilisateur CallBigeFree existe">Free</button></li><br>'; menu += '<li><button id="cbenregistre" type="button" title="Enregistrer le Login + Mot de passe">SAVE</button> '; menu += '<button id="cbessai" type="button" title="Envoyer une notification test au smartphone">Test</button> '; menu += '<button id="cbclose" type="button" title="Fermer les settings">Fermer</button></li>'; menu += "<p><br>Aller sur le site <a href='https://getcallbridge.com/fr/appelez-directement-depuis-vos-sites-preferes-avec-callbridge' target='_blank' title='Utilisateur Free? Cliquez-ici pour souscrire à ce plugin'>CallBridge</a></p>"; // Create menu if (menu !== '') { menuobj = document.createElement('ul'); menuobj.style.position = 'fixed'; menuobj.style.top = '57px'; menuobj.style.right = '-200px'; menuobj.style.padding = '25px'; menuobj.style.backgroundColor = '#fff'; menuobj.style.zIndex = '6535'; //menuobj.style.border = 'solid 3px #f56b2a'; menuobj.style.boxShadow = '0 0 3rem rgba(48,48,48,0.4)'; menuobj.innerHTML = menu; menuobj.style.visibility = 'hidden'; body = document.getElementsByTagName('body')[0]; body.appendChild(menuobj); var cbuser = document.getElementById('cbmail'); cbuser.value = GM_getValue("cbuser", ''); var cbpassword = document.getElementById('cbpassword'); cbpassword.value = GM_getValue("cbpassword", ''); cbAfficheFreeOrPro(); } // sortie de cbmail avec changement : choix automatique Pro/Free 1/2 cbmail.onchange = function (){ SaveLogin(); GM_setValue("cbFreePro",1); // en FREE Get_Verif_Email(cbmail_onchange_suite); }; // sortie de cbmail avec changement : choix automatique Pro/Free 2/2 function cbmail_onchange_suite(pTexte){ if (pTexte.substring(0,2)=="KO") {GM_setValue("cbFreePro",0);} else {cbAfficheFreeOrPro();return;} cbAfficheFreeOrPro(); GM_setValue("cbFreePro",2); // en PRO Get_Verif_Email(MailExiste); } // Quel mode CallBridge Free ou Pro ? function cbAfficheFreeOrPro(){ var cbFreePro = GM_getValue("cbFreePro", 0); var cbfree = document.getElementById('cbmodefree'); if (cbFreePro==1) cbfree.style.backgroundColor="white"; else cbfree.style.backgroundColor=''; var cbpro = document.getElementById('cbmodepro'); if (cbFreePro==2) cbpro.style.backgroundColor="white"; else cbpro.style.backgroundColor=''; } // mettre CallBridge en Free cbmodefree.onclick = function () { SaveLogin(); GM_setValue("cbFreePro",1); Get_Verif_Email(MailExiste); }; // mettre CallBridge en Pro cbmodepro.onclick = function () { SaveLogin(); GM_setValue("cbFreePro", 2); Get_Verif_Email(MailExiste); }; // Toast <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< var toast='<li id="cbtoast" style="text-align: center;font-weight: 90;">Event Created</li>'; // Create toast if (toast !== '') { toastobj = document.createElement('ul'); toastobj.style.position = 'fixed'; //toastobj.style.top = '100px'; //toastobj.style.right = '10px'; //toastobj.style.padding = '25px'; toastobj.style.minWidth = '250px'; toastobj.style.bottom = '-30px'; toastobj.style.marginLeft = '-125px'; toastobj.style.left = '50%'; toastobj.style.padding = '16px'; toastobj.style.textAlign = 'center'; toastobj.style.borderRadius = '2px'; toastobj.style.backgroundColor = '#333'; toastobj.style.color = '#fff'; toastobj.style.zIndex = '15'; toastobj.style.boxShadow = '0 0 3rem rgba(48,48,48,0.4)'; toastobj.innerHTML = toast; toastobj.style.visibility = 'hidden'; body = document.getElementsByTagName('body')[0]; body.appendChild(toastobj); } // Affiche le Toast function AfficheToast(pText) { var cbtoast = document.getElementById('cbtoast'); cbtoast.innerHTML=pText; toastobj.style.visibility = 'visible'; toastobj.style.transition = 'bottom 1s ease-in-out'; toastobj.style.WebkitTransition = 'bottom 1s ease-in-out'; toastobj.style.MozTransition = 'bottom 1s ease-in-out'; toastobj.style.bottom = '70px'; setTimeout(function() { toastobj.style.transition = 'bottom 1s ease-in-out'; toastobj.style.WebkitTransition = 'bottom 1s ease-in-out'; toastobj.style.MozTransition = 'bottom 1s ease-in-out'; toastobj.style.bottom = '-70px'; },1500); } // Préparer la requete pour Get_Verif_Email function Get_Verif_Email(pCallBack){ var cbuser = GM_getValue("cbuser",''); var cbpassword = GM_getValue("cbpassword",''); var requete; requete="<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/1999/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\"><soap:Body>"; requete += AjBalise("pDatetime",TheDateTime() ); // Renvoie sous forme :AAAAMMJJhhmmss Ex: 20170120093425 pour le 20/01/2017 à 09h34m25s requete += AjBalise("pEmail",cbuser); // Login du compte CallBridge requete += AjBalise("pLang","?"); // en anglais requete += "</soap:Body></soap:Envelope>"; cbAfficheFreeOrPro(); SendHttp(requete,"Get_Verif_Email",pCallBack); // Envoi de la requete en XML et le nom du Service à contacter } // Retour Http function MailExiste(pTexte){ if (pTexte.substring(0,2)=="KO") {GM_setValue("cbFreePro",0);} cbAfficheFreeOrPro(); } function SaveLogin(){ var cbuser = document.getElementById('cbmail'); GM_setValue("cbuser", cbuser.value); var cbpassword = document.getElementById('cbpassword'); GM_setValue("cbpassword", cbpassword.value); } // enregistrer les login et password cbenregistre.onclick = function () { SaveLogin(); var cbFreePro = GM_getValue("cbFreePro", 0); if (cbFreePro===0) {alert("Choose a CallBridge or a CallBridgePro account");return;} menuobj.style.visibility = 'hidden'; location.reload(); }; // essai d'envoi par callbridge cbessai.onclick = function () { Put_Notification("Call","0607080910",0); menuobj.style.visibility = 'hidden'; }; // essai d'envoi par callbridge cbclose.onclick = function () { menuobj.style.visibility = 'hidden'; }; function StringToUTF8(pTexte){ sEot=String.fromCharCode(4); var sText0="", sText1='', sText2=pTexte, sText3='', i=10, t=''; while (sText0!=sText2 && i>0){ i--;sText0=sText2;sText1=sText2; sText2=sText1.replace("È","è");sText1=sText2; sText2=sText1.replace("É","é");sText1=sText2; sText2=sText1.replace("Ê","ê");sText1=sText2; sText2=sText1.replace("&","¤");sText1=sText2; sText2=sText1.replace("€","\$");sText1=sText2; sText2=sText1.replace(sEot,"?");sText1=sText2; } var sortie=unescape(encodeURIComponent(sText2)); return sortie; } function UTF8ToAscii(pTexte){ var sortie=decodeURIComponent(escape(pTexte)); return sortie; } function chBalise(pText,pBalise,pNeme){ var sBalise=pBalise+'="',nNeme=1, n=0; var iDeb=0, iFin=0, F=1, L=sBalise.length; if (pNeme) {nNeme=pNeme;} for (i=0;i<pText.length;i++) if (F==1 && pText.substr(i,L)==sBalise) {iDeb=i+L;n++;if (n==nNeme) F=2;} if (iDeb<1) return ''; for (i=iDeb;i<pText.length;i++) if (F==2 && pText.substr(i,1)=='"') {iFin=i;F=3;} if (iFin===0) return ''; var i=iFin-iDeb; return pText.substr(iDeb,i); } // On enlève les blancs devant et derrière function sansBlanc(pText){ var d=0,f=0,sRc=String.fromCharCode(10),sNl=String.fromCharCode(13),sortie=''; // les RC remplacés en blanc for (i=0;i<pText.length;i++) if (pText.substr(i,1)==sRc) {sortie+=' ';} else {sortie+=pText.substr(i,1);} pText=sortie;sortie=''; // les blancs non sécables sont remplacés for (i=0;i<pText.length;i++) if (pText.substr(i,6)==' ') {sortie+=' ';i+=5;} else {sortie+=pText.substr(i,1);} pText=sortie;sortie=''; // les doubles blancs en 1 blanc for (i=0;i<pText.length;i++) if (pText.substr(i,2)!=' ') {sortie+=pText.substr(i,1);} pText=sortie;sortie=''; // les <br> sont remplacés for (i=0;i<pText.length;i++) if (pText.substr(i,4)=='<br>') {sortie+='; ';i+=3;} else {sortie+=pText.substr(i,1);} pText=sortie;sortie=''; // on délimite for (i=0;i<pText.length;i++) { if (pText.substr(i,1)==' ' || pText.substr(i,1)==sRc || pText.substr(i,1)<"!") {d=i;} else {d=i;i=pText.length;}} for (i=pText.length;i>0;i--) { if (pText.substr(i,1)==' ' || pText.substr(i,1)==sRc || pText.substr(i,1)<"!") {f=i;} else {f=i;i=0;}} return pText.substr(d,f-d+1); } // On enlève les RC/NL function sansRC(pText){ var sRc=String.fromCharCode(10),sNl=String.fromCharCode(13),sortie=''; for (i=0;i<pText.length;i++) { if (pText.substr(i,1)==sRc || pText.substr(i,1)==sNl) {sortie+=' ';} else {sortie+=pText.substr(i,1);}} return sortie; } // on divise la chaine pText avec le séparateur (",") function extraitChaine(pText,pIndice,pSep){ var sChaines=[], j=1, L=pSep.length, s1=''; sChaines[j]='';sChaines[pIndice]=''; for (i=0;i<pText.length;i++) { if (pText.substr(i,L)==pSep) {j++;sChaines[j]='';} else {sChaines[j]+=pText.substr(i,1);} } if (sChaines[pIndice]==='') {s1=' ';} else {s1=sChaines[pIndice].replace(" "," ");} return s1; } // Tout ce qui est affiché <balise>..affiché..</balise> function chAffichages(pText){ var j=0,k=0,sortie='',sText2='',k=0; for (i=0;i<pText.length;i++){ if (pText.substr(i,1)=='>') {k=1;j=1;i++;} if (pText.substr(i,1)=='<') {k=1;j=0;i++;} if (j==1) sortie+=pText.substr(i,1); } if (k=0) sortie=pText; sText2=sortie.replace("&","&");sortie=sText2; sText2=sortie.replace("&","&");sortie=sText2; return sortie; } // Tout ce qui est affiché pour la class xxx : <balise class="xxx">..affiché..</balise> function chAffichageClass(pText,pClass){ var j=0,k=0,sortie='',sText2=''; var iDebut = pText.indexOf(pClass); if (iDebut<0) return ''; for (i=iDebut;i<pText.length;i++){ if (pText.substr(i,1)=='>' && j==0) {j=1;i++;} if (pText.substr(i,1)=='<') {j=2;i++;} if (j==1) sortie+=pText.substr(i,1); } sText2=sortie.replace("&","&");sortie=sText2; sText2=sortie.replace("&","&");sortie=sText2; return sortie; } // Sans les balises <span> et <i> .. </i> et les NL function sansSpan(pText){ var sortie='',enSpan=0; // On enlève les <span> for (i=0;i<pText.length;i++) if (pText.substr(i,6)=='<span>') {sortie+=' ';i+=5;} else {sortie+=pText.substr(i,1);} pText=sortie;sortie=''; // On enlève les </span> for (i=0;i<pText.length;i++) if (pText.substr(i,7)=='</span>') {sortie+=' ';i+=6;} else {sortie+=pText.substr(i,1);} pText=sortie;sortie=''; // On enlève les <span .. > for (i=0;i<pText.length;i++) if (pText.substr(i,6)=='<span ') { sortie+=' ';i+=5;enSpan=1;} else { if (enSpan==1 && pText.substr(i,1)==">" ) {i++;enSpan=0;} if (enSpan===0) sortie+=pText.substr(i,1); } pText=sortie;sortie='';enSpan=0; // On enlève les <i .. </i> for (i=0;i<pText.length;i++) if (pText.substr(i,3)=='<i ' || pText.substr(i,3)=='<i>') { sortie+=' ';i+=2;enSpan=1;} else { if (enSpan==1 && pText.substr(i,4)=="</i>" ) {i+=4;enSpan=0;} if (enSpan===0) sortie+=pText.substr(i,1); } return sortie; } // Donne la 1ère partie numérique function leNumerique(pText){ var sortie='',cOu=0,cNum=0; for (i=0;i<pText.length;i++){ var car=pText.substr(i,1);cNum=0; if (car>' '){ if (car>='0' && car<='9') cNum=1; // le caractere est numérique if (cOu==1 && cNum==0) cOu=2; // fin de recherche if (cOu==0 && cNum==1) cOu=1; // début de recherche if (cOu==1 && cNum==1) sortie+=car; } } return sortie; }