fix exact match queries
[opensuse:software-o-o.git] / public / javascript / local / download.js
1 /*
2 *
3 * JavaScript functions for download.opensuse.org
4 * Author: Frank Sundermeyer <fs@opensuse.org>
5 * $Id: $
6 */
7
8 // Make hidden portion visible if JS is activated
9
10 function downloadShow () {
11   document.getElementById('script_only').className = 'show';
12 }
13
14 // Hide BitTorrent option on Mini CD downloads
15
16 function toggleBitTorrent () {
17   var NETWORK_BUTTON = document.forms["download"].elements["media_type"][2];
18   var TORRENT_BUTTON = document.getElementById('l_torrent');
19   var PROTOCOL_RADIO = document.forms["download"].elements["protocol"];
20   if (NETWORK_BUTTON.checked ) {
21     TORRENT_BUTTON.style.display = "none";
22     PROTOCOL_RADIO[1].checked = true;
23     PROTOCOL_RADIO[0].checked = false;
24   } else {
25     TORRENT_BUTTON.style.display = "inline";
26     PROTOCOL_RADIO[0].checked = true;
27     PROTOCOL_RADIO[1].checked = false;
28   }
29 }   
30
31 // Display the download data base on arch, media, and method
32
33 function displayDownload () {
34   /*
35   * Get the ARCH value
36   */
37   var ARCH_RADIO = document.forms["download"].elements["arch"];
38   var ARCH_RADIO_LENGTH = ARCH_RADIO.length;
39   for (var i = 0; i < ARCH_RADIO_LENGTH; i++) {
40     if (ARCH_RADIO[i].checked) {
41       var ARCH = ARCH_RADIO[i].value;
42       // Set class of parent lable element to selected
43       var LABEL = "l_" + ARCH_RADIO[i].id;
44       document.getElementById(LABEL).className = "selected";
45     } else {
46       // Set class of parent lable element to ""
47       var LABEL = "l_" + ARCH_RADIO[i].id;
48       document.getElementById(LABEL).className = "";
49     }
50   }
51   /*
52   * Get the MEDIATYPE value
53   */
54   var MEDIATYPE_RADIO = document.forms["download"].elements["media_type"];
55   var MEDIATYPE_RADIO_LENGTH = MEDIATYPE_RADIO.length;
56   for (var i = 0; i < MEDIATYPE_RADIO_LENGTH; i++) {
57     if (MEDIATYPE_RADIO[i].checked) {
58       var MEDIATYPE = MEDIATYPE_RADIO[i].value;
59       // Set class of parent lable element to selected
60       var LABEL = "l_" + MEDIATYPE_RADIO[i].id;
61       document.getElementById(LABEL).className = "selected";
62     } else {
63       // Set class of parent lable element to ""
64       var LABEL = "l_" +  MEDIATYPE_RADIO[i].id;
65       document.getElementById(LABEL).className = "";
66     }
67   }
68   /*
69   * Get the PROTOCOL value
70   */
71   var PROTOCOL_RADIO = document.forms["download"].elements["protocol"];
72   var PROTOCOL_RADIO_LENGTH = PROTOCOL_RADIO.length; 
73   for (var i = 0; i < PROTOCOL_RADIO_LENGTH; i++) {
74     if (PROTOCOL_RADIO[i].checked) {
75       var PROTOCOL = PROTOCOL_RADIO[i].value;
76       // Set class of parent lable element to selected
77       var LABEL = "l_" + PROTOCOL_RADIO[i].id;
78       document.getElementById(LABEL).className = "selected";
79     } else {
80       // Set class of parent lable element to ""
81       var LABEL = "l_" +  PROTOCOL_RADIO[i].id;
82       document.getElementById(LABEL).className = "";
83     }
84   }
85
86   switchDisplay ();
87
88   // The id of the media element to display
89   var ID_TO_DISPLAY = ARCH + MEDIATYPE + PROTOCOL;
90
91   // Show it
92   document.getElementById(ID_TO_DISPLAY).className="show";
93
94   return true; 
95 }
96
97 // Toggle visible/hidden parts - helper function for displayDownload
98
99 function switchDisplay () {
100   var DOWNLOAD_SECT = document.getElementById ("download_links");
101   var DOWNLOAD_SHOW = DOWNLOAD_SECT.getElementsByTagName ("div");
102   var DOWNLOAD_SHOW_LENGTH = DOWNLOAD_SHOW.length;
103   for (var i = 0; i < DOWNLOAD_SHOW_LENGTH; i++) {
104     if (DOWNLOAD_SHOW[i].className == "show") {
105       DOWNLOAD_SHOW[i].className="hide";
106     }
107   }
108   return true;
109 }
110
111 // The Popup windows
112
113 var OPEN_POPUP = null;
114
115 function popup_close() {
116   if (OPEN_POPUP && !OPEN_POPUP.closed) {
117     OPEN_POPUP.close();
118   }
119 }
120
121 function popup (URL,NAME,WIDTH,HEIGHT) {
122   var PARAMS='width='+WIDTH+',height='+HEIGHT+',resizable,,menubar=no,toolbar=no,scrollbars';
123   popup_close(); //close previously opened PopUps
124   OPEN_POPUP=window.open(URL,NAME,PARAMS);
125   if (OPEN_POPUP) {
126     return false;
127   } else {
128     return true;
129   }
130 }