Allora è un sito di registrazione.
Invece di procedere seguendo la solita procedura facendo cliccare l'utente Registrati, appena si apre la pagina registra in automatico il numero di telefono dell'utente (questo sistema funziona solo con connessioni 3G).
Dopo aver registrato l'utente in automatico, l'utente riceverà un sms per la conferma registrazione.
Aprendo la pagina index.html deve richiamare questa parte di codice
codice:
setTimeout(function(){
startFlow();
},10000);
function startFlow() {
$('#dvmiddle').show();
$('html,body').animate({scrollTop: 0}, '0');
$(".bg_im").hide();
$("#fond").show();
plugins.mp_frame.callIFrame();
}
contenuto nella pagina index2.html
di seguito il plugin mp_frame.js
codice:
var plugins=plugins || {};
plugins.mpay_frame=new function() {
var me=this;
var options_default={
timer: 0,
checkbox_element: '#checkbox',
checkbox_wrapper: '#divChk',
close_frame: '#closebtn',
spinner: '#imgRotella',
qs_adder: ''
};
var options={};
var showChk = false;
var called=false;
var qs = querystring.get();
function hideIFrame() {
if (showChk) {
$(options.checkbox_wrapper).hide();
}
$('#ifr').hide();
$(options.close_frame).hide();
}
function showIFrame() {
$('html,body').animate({scrollTop: 0}, 0);
$('#ifr').show('fast');
$(options.close_frame).show('fast');
if (showChk) {
$(options.checkbox_wrapper).show();
}
}
function bindEvents() {
$(options.close_frame).click(function(e) {
e.preventDefault();
hideIFrame();
e.stopPropagation();
});
$(options.clickable_elements).click(function(e){
e.preventDefault();
e.stopPropagation();
me.callIFrame();
});
}
this.callIFrame=function() {
if (qs !== '') {
qs = '?' + qs;
}
//<editor-fold defaultstate="collapsed" desc="se c'è il plugin per il partnerpanel">
if (plugins.partnerpanel !== undefined) {
var section=plugins.partnerpanel.getSection();
if (section!=='') {
if(qs!=="") {
qs += "§ion=" + section;
} else {
qs = "?section=" + section;
}
}
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="se c'è il plugin per il tracking">
if (plugins.tracking_adder !== undefined ) {
if (plugins.tracking_adder!=='') {
if (qs !== "") {
qs += "&" + plugins.tracking_adder;
} else {
qs = "?" + plugins.tracking_adder;
}
}
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Pezzo di querystring gestito a mano">
if (options.qs_adder!=='') {
if (qs!=="") {
qs+="&"+options.qs_adder;
} else {
qs="?"+options.qs_adder;
}
}
//</editor-fold>
var urlForGet = options.url_for_get + qs;
if (!called) {
called = true;
$.get(urlForGet, {}, function(data) {
$(options.spinner).show();
if (data !== '***ERRORE***') {
$('#ifr').attr('src', data);
var windowProxy;
windowProxy = new Porthole.WindowProxy(data, 'ifr');
$(options.checkbox_element).click(function(e) {
windowProxy.post({chk: $(this).is(':checked')});
});
$('#ifr').load(function() {
$(options.spinner).hide();
windowProxy.post({chk: $(options.checkbox_element).is(':checked')});
});
windowProxy.addEventListener(function(msg) {
if (msg.data['showCheckbox'] !== undefined) {
if (msg.data['showCheckbox']) {
$(options.checkbox_element).removeAttr('checked');
windowProxy.post({chk: $(options.checkbox_element).is(':checked')});
showChk = true;
} else {
$(options.checkbox_element).attr('checked', 'checked');
}
}
if (msg.data['tpl'] !== undefined) {
var cl='tpl'+msg.data['tpl'].lid;
$('iframe#ifr').attr("class",cl);
}
showIFrame();
});
}
});
} else {
showIFrame();
}
};
/**
*
* @param Object opts:
* <ul>
* <li>
* clickable_elements: <i>string</i>. Selettore degli elementi cliccabili. <b>Obbligatorio<b>
* </li>
* <li>
* url_for_get: <i>string</i>. Url relativa al servizio del proxy per il bind con il framemanager. <b>Obbligatorio<b>
* </li>
* <li>
* timer: <i>int</i>. Millisecondi dopo i quali chiamare il frame (se si vuole un timer).
* </li>
* <li>
* checkbox_element: <i>string</i>. Elemento checkbox (l'input)
* </li>
* <li>
* checkbox_wrapper: <i>string</i>. Elemento che wrappa la checkbox (ad esempio un div)
* </li>
* <li>
* close_frame: <i>string</i>. Bottone di chiusa del frame
* </li>
* <li>
* spinner: <i>string</i>. Spinner di caricamento del frame
* </li>
* </ul>
* @returns {undefined}
*/
this.call=function(opts) {
options=opts;
//<editor-fold defaultstate="collapsed" desc="opzioni di default se mancanti">
var def_keys=Object.keys(options_default);
for (var i in def_keys) {
if (options[def_keys[i]]===undefined) {
options[def_keys[i]]=options_default[def_keys[i]];
}
}
//</editor-fold>
bindEvents();
if (options.timer>1000) {
setTimeout(function(){me.callIFrame();},options.timer);
}
};
};