import repository from arizona
[raven.git] / apps / mprepo / html.py
1 def BR():
2     return "<br>"
3
4 def TD(x, colspan=0, align=None):
5     tmp= "<td"
6     if (colspan>0):
7        tmp = tmp + " colspan=" + str(colspan)
8     if (align!=None):
9        tmp = tmp + " align=" + str(align)
10     tmp = tmp + ">" + str(x) + "</td>"
11     return tmp
12
13 def TH(x, colspan=0, align=None):
14     tmp= "<th"
15     if (colspan>0):
16        tmp = tmp + " colspan=" + str(colspan)
17     if (align!=None):
18        tmp = tmp + " align=" + str(align)
19     tmp = tmp + ">" + str(x) + "</th>"
20     return tmp
21
22 def TR(x):
23     return "<tr>" + str(x) + "</tr>\n"
24
25 def TABLE(x, border=None):
26     tmp = "<table"
27     if border:
28        tmp = tmp + " border=" + str(border)
29     tmp = tmp + ">" + str(x) + "</table>"
30     return tmp
31
32 def OPTION(value, selected, y):
33     x = '<option value="' + str(value) + '"'
34     if selected:
35        x+= ' selected'
36
37     x += '>' + str(y) + '</option>'
38
39     return x
40
41 def SELECT(name, y, id=None, onChange=None):
42     x = '<select name="' + str(name) + '"'
43
44     if id:
45         x += ' id="' + id +'"'
46
47     if onChange:
48         x += ' onChange="' + onChange + '"'
49
50     x += '>' + str(y) + '</select>'
51
52     return x
53
54 def INPUT(name, type="text", size=30, value=None, onChange=None):
55     x = '<input type="' + str(type) + '" name="' + str(name) + '"'
56     if size:
57        x+= ' size="' + str(size) + '"'
58     if value:
59        x+=' value="' + str(value) + '"'
60     if onChange:
61        x+=' onChange="' + str(onChange) + '"'
62
63     x += '>'
64
65     return x
66
67 def INPUTFILE(name, value=None):
68     return INPUT(name, "file", None, value)
69
70 def LINK(link, name):
71     return '<a href="' + link + '">' + str(name) + '</a>'
72
73 def B(x):
74     return '<b>' + x + '</b>'
75
76 def CHECKBOX(name, value, checked=False):
77     x = '<input type="checkbox" name="' + str(name) + '" value="' + str(value) + '"'
78     if checked:
79         x += " checked"
80     x += '>'
81     return x
82
83 def RADIO(name, value, checked=False):
84     x = '<input type="radio" name="' + str(name) + '" value="' + str(value) + '"'
85     if checked:
86         x += " checked"
87     x += '>'
88     return x
89
90 def BUTTON(name, value):
91     return '<input type="submit" name="' + str(name) + '" value="' + str(value) + '">'
92
93 def QUERY(dict):
94     sep = "?"
95     x = ""
96     for key in dict.keys():
97         if dict[key] != None:
98             x = x + sep + key + '=' + dict[key]
99             sep = "&"
100     return x
101
102 def FORM(action, method, body, enctype=None):
103     x = '<FORM action="' + str(action) + '" method="' + str(method) + '"'
104     if enctype:
105        x+= ' enctype="' + str(enctype) + '"'
106
107     x += '>' + str(body) + '</FORM>'
108
109     return x
110
111 def TIMEZONE_DROPDOWN(name, value=None, onChange=None):
112    options = """
113       <option value="-12.0">(GMT -12:00) Eniwetok, Kwajalein</option>\r
114       <option value="-11.0">(GMT -11:00) Midway Island, Samoa</option>\r
115       <option value="-10.0">(GMT -10:00) Hawaii</option>\r
116       <option value="-9.0">(GMT -9:00) Alaska</option>\r
117       <option value="-8.0">(GMT -8:00) Pacific Time (US &amp; Canada)</option>\r
118       <option value="-7.0">(GMT -7:00) Mountain Time (US &amp; Canada)</option>\r
119       <option value="-6.0">(GMT -6:00) Central Time (US &amp; Canada), Mexico City</option>\r
120       <option value="-5.0">(GMT -5:00) Eastern Time (US &amp; Canada), Bogota, Lima</option>\r
121       <option value="-4.0">(GMT -4:00) Atlantic Time (Canada), Caracas, La Paz</option>\r
122       <option value="-3.5">(GMT -3:30) Newfoundland</option>\r
123       <option value="-3.0">(GMT -3:00) Brazil, Buenos Aires, Georgetown</option>\r
124       <option value="-2.0">(GMT -2:00) Mid-Atlantic</option>\r
125       <option value="-1.0">(GMT -1:00 hour) Azores, Cape Verde Islands</option>\r
126       <option value="0.0">(GMT) Western Europe Time, London, Lisbon, Casablanca</option>\r
127       <option value="1.0">(GMT +1:00 hour) Brussels, Copenhagen, Madrid, Paris</option>\r
128       <option value="2.0">(GMT +2:00) Kaliningrad, South Africa</option>\r
129       <option value="3.0">(GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg</option>\r
130       <option value="3.5">(GMT +3:30) Tehran</option>\r
131       <option value="4.0">(GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi</option>\r
132       <option value="4.5">(GMT +4:30) Kabul</option>\r
133       <option value="5.0">(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent</option>\r
134       <option value="5.5">(GMT +5:30) Bombay, Calcutta, Madras, New Delhi</option>\r
135       <option value="5.75">(GMT +5:45) Kathmandu</option>\r
136       <option value="6.0">(GMT +6:00) Almaty, Dhaka, Colombo</option>\r
137       <option value="7.0">(GMT +7:00) Bangkok, Hanoi, Jakarta</option>\r
138       <option value="8.0">(GMT +8:00) Beijing, Perth, Singapore, Hong Kong</option>\r
139       <option value="9.0">(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk</option>\r
140       <option value="9.5">(GMT +9:30) Adelaide, Darwin</option>\r
141       <option value="10.0">(GMT +10:00) Eastern Australia, Guam, Vladivostok</option>\r
142       <option value="11.0">(GMT +11:00) Magadan, Solomon Islands, New Caledonia</option>\r
143       <option value="12.0">(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka</option>\r
144    """\r
145 \r
146    if value != None:\r
147        value = str(value);\r
148        if (value.find(".") == -1):\r
149            value = value + ".0";\r
150        options = options.replace('value="' + value + '"', 'value="' + value + '" selected');\r
151 \r
152    x=""\r
153    x+='<select name="' + name + '" id="' + name\r
154 \r
155    if onChange:\r
156       x+=' onChange="' + str(onChange) + '"'\r
157 \r
158    x+= '">' + options + '</select>';\r
159 \r
160    return x\r
161
162 def MULTIDIV( baseName, divs ):
163     s = ""
164     i = 1
165     for content in divs:
166         s = s + "<DIV id='" + baseName + str(i) + "' style='display: none;'>" + content + "</DIV>"
167         i = i + 1
168     return s
169
170 def MULTIDIV_FUNC():
171     s= """
172         function ShowMenu(num, menu, max)
173         {\r
174                 for(i = 1; i <= max; i++){\r
175                         var menu2 = menu + i;\r
176                         if (i==num) {\r
177                             document.getElementById(menu2).style.display = 'block';\r
178                         } else {\r
179                             document.getElementById(menu2).style.display = 'none';\r
180                         }\r
181                 }\r
182         }\r
183     """
184     return s
185
186 def SCRIPT(x, language="JavaScript"):
187    return "<SCRIPT language='" + language + "'>" + x + "</SCRIPT>"
188