application.js - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
 (HTM) git clone git://jay.scot/warvox
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
       application.js (4442B)
       ---
            1 // Place your application-specific JavaScript functions and classes here
            2 // This file is automatically included by javascript_include_tag :defaults
            3 //= require jquery
            4 //= require bootstrap-sprockets
            5 //= require jquery_ujs
            6 //= require bootstrap-lightbox
            7 //= require dataTables/jquery.dataTables
            8 //= require dataTables/bootstrap/3/jquery.dataTables.bootstrap
            9 //= require dataTables.hiddenTitle
           10 //= require dataTables.filteringDelay
           11 //= require dataTables.fnReloadAjax
           12 //= require jquery.table
           13 //= require dataTables_overrides
           14 //= require highcharts
           15 
           16 
           17 function getParameterByName(name)
           18 {
           19   name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
           20   var regexS = "[\\?&]" + name + "=([^&#]*)";
           21   var regex = new RegExp(regexS);
           22   var results = regex.exec(window.location.href);
           23   if(results == null)
           24     return "";
           25   else
           26     return decodeURIComponent(results[1].replace(/\+/g, " "));
           27 }
           28 
           29 
           30 /*
           31  * If the given select element is set to "", disables every other element
           32  * inside the select's form.
           33  */
           34 function disable_fields_if_select_is_blank(select) {
           35         var formElement = Element.up(select, "form");
           36         var fields = formElement.getElements();
           37 
           38         Element.observe(select, "change", function(e) {
           39                 var v = select.getValue();
           40                 for (var i in fields) {
           41                         if (fields[i] != select && fields[i].type && fields[i].type.toLowerCase() != 'hidden' && fields[i].type.toLowerCase() != 'submit') {
           42                                 if (v != "") {
           43                                         fields[i].disabled = true
           44                                 } else {
           45                                         fields[i].disabled = false;
           46                                 }
           47                         }
           48                 }
           49         });
           50 }
           51 
           52 function enable_fields_with_checkbox(checkbox, div) {
           53         var fields;
           54 
           55         if (!div) {
           56                 div = Element.up(checkbox, "fieldset")
           57         }
           58 
           59         f = function(e) {
           60                 fields = div.descendants();
           61                 var v = checkbox.getValue();
           62                 for (var i in fields) {
           63                         if (fields[i] != checkbox && fields[i].type && fields[i].type.toLowerCase() != 'hidden') {
           64                                 if (!v) {
           65                                         fields[i].disabled = true
           66                                 } else {
           67                                         fields[i].disabled = false;
           68                                 }
           69                         }
           70                 }
           71         }
           72         f();
           73         Element.observe(checkbox, "change", f);
           74 }
           75 
           76 function placeholder_text(field, text) {
           77         var formElement = Element.up(field, "form");
           78         var submitButton = Element.select(formElement, 'input[type="submit"]')[0];
           79 
           80         if (field.value == "") {
           81                 field.value = text;
           82                 field.setAttribute("class", "placeholder");
           83         }
           84 
           85         Element.observe(field, "focus", function(e) {
           86                 field.setAttribute("class", "");
           87                 if (field.value == text) {
           88                         field.value = "";
           89                 }
           90         });
           91         Element.observe(field, "blur", function(e) {
           92                 if (field.value == "") {
           93                         field.setAttribute("class", "placeholder");
           94                         field.value = text;
           95                 }
           96         });
           97         submitButton.observe("click", function(e) {
           98                 if (field.value == text) {
           99                         field.value = "";
          100                 }
          101         });
          102 }
          103 
          104 
          105 function submit_checkboxes_to(path, token) {
          106         var f = document.createElement('form');
          107         f.style.display = 'none';
          108 
          109         /* Set the post destination */
          110         f.method = "POST";
          111         f.action = path;
          112 
          113         /* Create the authenticity_token */
          114         var s = document.createElement('input');
          115         s.setAttribute('type', 'hidden');
          116         s.setAttribute('name', 'authenticity_token');
          117         s.setAttribute('value', token);
          118         f.appendChild(s);
          119 
          120         /* Copy the checkboxes from the host form */
          121         $("input[type=checkbox]").each(function(i,e) {
          122                 if (e.checked)  {
          123                         var c = document.createElement('input');
          124                         c.setAttribute('type', 'hidden');
          125                         c.setAttribute('name',  e.getAttribute('name')  );
          126                         c.setAttribute('value', e.getAttribute('value') );
          127                         f.appendChild(c);
          128                 }
          129         })
          130 
          131         /* Look for hidden variables in checkbox form */
          132         $("input[type=hidden]").each(function(i,e) {
          133                 if ( e.getAttribute('name').indexOf("[]") != -1 )  {
          134                         var c = document.createElement('input');
          135                         c.setAttribute('type', 'hidden');
          136                         c.setAttribute('name',  e.getAttribute('name')  );
          137                         c.setAttribute('value', e.getAttribute('value') );
          138                         f.appendChild(c);
          139                 }
          140         })
          141 
          142         /* Copy the search field from the host form */
          143         $("input#search").each(function (i,e) {
          144                 if (e.getAttribute("class") != "placeholder") {
          145                         var c = document.createElement('input');
          146                         c.setAttribute('type', 'hidden');
          147                         c.setAttribute('name',  e.getAttribute('name')  );
          148                         c.setAttribute('value', e.value );
          149                         f.appendChild(c);
          150                 }
          151         });
          152 
          153         /* Append to the main form body */
          154         document.body.appendChild(f);
          155         f.submit();
          156         return false;
          157 }
          158 
          159 
          160 // Look for the other half of this in app/coffeescripts/forms.coffee
          161 function enableSubmitButtons() {
          162   $("form.formtastic input[type='submit']").each(function(elmt) {
          163     elmt.removeClassName('disabled'); elmt.removeClassName('submitting');
          164   });
          165 }