Merge branch 'patch-1' of https://github.com/gjones2/Freeside
[freeside.git] / httemplate / elements / select-phonenum.html
index 9863290..18abe3d 100644 (file)
@@ -12,7 +12,7 @@
     what.options[length] = optionName;
   }
 
-  function <% $opt{'prefix'} %>exchange_changed(what, callback) {
+  function <% $opt{'prefix'} %><% $previous %>_changed(what, callback) {
 
     what.form.<% $opt{'prefix'} %>phonenum.disabled = 'disabled';
     what.form.<% $opt{'prefix'} %>phonenum.style.display = 'none';
@@ -21,7 +21,7 @@
     var phonenumerror = document.getElementById('<% $opt{'prefix'} %>phonenumerror');
     phonenumerror.style.display = 'none';
 
-    exchange = what.options[what.selectedIndex].value;
+    var thing = "<% $previous eq 'region' ? '_REGION ' : '' %>" + what.options[what.selectedIndex].value;
 
     function <% $opt{'prefix'} %>update_phonenums(phonenums) {
 
@@ -30,7 +30,9 @@
           what.form.<% $opt{'prefix'} %>phonenum.options[i] = null;
 
 %     if ($opt{empty}) {
-        opt(what.form.<% $opt{'prefix'} %>phonenum, '', '<% $opt{empty} %>');
+        if ( what.form.<% $opt{'prefix'} %>phonenum.type != 'select-multiple' ){
+          opt(what.form.<% $opt{'prefix'} %>phonenum, '', '<% $opt{empty} %>');
+        }
 %     }
 
       // add the new phonenums
     }
 
     // go get the new phonenums
-    <% $opt{'prefix'} %>get_phonenums( exchange, <% $opt{'svcpart'} %>, <% $opt{'prefix'} %>update_phonenums );
+    <% $opt{'prefix'} %>get_phonenums( thing, <% $opt{'svcpart'} %>, <% $opt{'prefix'} %>update_phonenums );
 
   }
 
+% if ( $opt{'tollfree'} ) {
+    function <% $opt{'prefix'} %>update_phonenums(phonenums) {
+       // lame hack so I can copy the code from above
+       what = document.getElementById('<% $opt{prefix} %>phonenum');
+
+       // blank the current phonenum
+      for ( var i = what.form.<% $opt{'prefix'} %>phonenum.length; i >= 0; i-- )
+          what.form.<% $opt{'prefix'} %>phonenum.options[i] = null;
+
+%     if ($opt{empty}) {
+        opt(what.form.<% $opt{'prefix'} %>phonenum, '', '<% $opt{empty} %>');
+%     }
+
+      // add the new phonenums
+      var phonenumArray = eval('(' + phonenums + ')' );
+      for ( var s = 0; s < phonenumArray.length; s++ ) {
+          var phonenumLabel = phonenumArray[s];
+          if ( phonenumLabel == "" )
+              phonenumLabel = '(n/a)';
+          opt(what.form.<% $opt{'prefix'} %>phonenum, phonenumArray[s], phonenumLabel);
+      }
+
+      what.form.<% $opt{'prefix'} %>phonenum.disabled = '';
+
+      if ( phonenumArray.length >= 1 ) {
+        what.form.<% $opt{'prefix'} %>phonenum.disabled = '';
+        what.form.<% $opt{'prefix'} %>phonenum.style.display = '';
+      } 
+
+    }
+    <% $opt{'prefix'} %>get_phonenums( 'tollfree', <% $opt{'svcpart'} %>, <% $opt{'prefix'} %>update_phonenums );
+% }
+
 </SCRIPT>
 
+% unless ( $opt{'tollfree'} ) {
 <DIV ID="phonenumwait" STYLE="display:none"><IMG SRC="<%$fsurl%>images/wait-orange.gif"> <B>Finding phone numbers</B></DIV>
 
-<DIV ID="phonenumerror" STYLE="display:none"><IMG SRC="<%$fsurl%>images/cross.png"> <B>Select a different city/exchange</B></DIV>
-
-<SELECT NAME="<% $opt{'prefix'} %>phonenum" notonChange="<% $opt{'prefix'} %>phonenum_changed(this); <% $opt{'onchange'} %>" <% $opt{'disabled'} %>>
-  <OPTION VALUE="">Select phone number</OPTION>
+<DIV ID="phonenumerror" STYLE="display:none"><IMG SRC="<%$fsurl%>images/cross.png"> <B>Select a different <% $opt{'region'} ? 'region' : 'city/exchange' %></B></DIV>
+% }
+
+<SELECT <% $opt{multiple} ? 'MULTIPLE SIZE=25' : '' %>
+        ID   = "<% $opt{'prefix'} %>phonenum"
+        NAME = "<% $opt{'prefix'} %>phonenum" 
+        <% $opt{'disabled'} %>
+%#        notonChange="<% $opt{'prefix'} %>phonenum_changed(this); <% $opt{'onchange'} %>"
+>
+% unless ( $opt{multiple} ) {
+    <OPTION VALUE="">Select phone number</OPTION>
+% }
 </SELECT>
 
 <%init>
@@ -102,4 +146,6 @@ my %opt = @_;
 
 $opt{disabled} = 'disabled' unless exists $opt{disabled};
 
+my $previous = $opt{'region'} ? 'region' : 'exchange';
+
 </%init>