function form_date_calendar_request(container_id, field_id, month, year, lang, cal_id, cal_class, sd, df, ds) { var params = ''; var q = true; if (field_id != undefined) { params = params + (q ? '?' : '&') + 'field_id=' + field_id; q = false; } if (month != undefined) { params = params + (q ? '?' : '&') + 'm=' + month; q = false; } if (year != undefined) { params = params + (q ? '?' : '&') + 'y=' + year; q = false; } if (lang != undefined) { params = params + (q ? '?' : '&') + 'lang=' + lang; q = false; } if (cal_id != undefined) { params = params + (q ? '?' : '&') + 'cal_id=' + cal_id; q = false; } if (cal_class != undefined) { params = params + (q ? '?' : '&') + 'cal_cls=' + cal_class; q = false; } if (sd != undefined) { params = params + (q ? '?' : '&') + 'sd=' + sd; q = false; } if (df != undefined) { params = params + (q ? '?' : '&') + 'df=' + df; q = false; } if (ds != undefined) { params = params + (q ? '?' : '&') + 'ds=' + ds; q = false; } url = '/_xhr/form_date_calendar/' + params; xhr_request(xhr_fill_element_quiet, url, container_id); } function form_date_get_value(field_id, suffix) { var field_element = document.getElementById(field_id + '_' + suffix); if (field_element != null) { return field_element.value; } else { return false; } } function form_date_calendar_refresh(cal_id, field_id, lang, cal_class, sd, df, ds, offset) { var day = parseInt(form_date_get_value(field_id, 'day')); var month = parseInt(form_date_get_value(field_id, 'month')); var year = parseInt(form_date_get_value(field_id, 'year')); var maxday = 0; switch(offset) { case '+1': month++; if (month == 13) { month = 1; year++; } break; case '-1': month--; if (month == 0) { month = 12; year--; } break; } switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: maxday = 31; break; case 4: case 6: case 9: case 11: maxday = 30; break; case 2: maxday = 29; break; } if (day > maxday && maxday > 0) { day = maxday; } if (day !== false && month !== false && year !== false) { form_date_calendar_request(cal_id + '-container', field_id, month, year, lang, cal_id, cal_class, sd, df, ds); form_date_set_value(field_id, day, month, year); } } function form_date_set_value(field_id, day, month, year) { day_element = document.getElementById(field_id + '_day'); month_element = document.getElementById(field_id + '_month'); year_element = document.getElementById(field_id + '_year'); if (day_element != null) { day_element.value = day; } if (month_element != null) { month_element.value = month; } if (year_element != null) { year_element.value = year; } } function form_urlify_string(src) { str = src.toLowerCase(); str = str.replace(/ą/g, 'a'); str = str.replace(/ć/g, 'c'); str = str.replace(/ę/g, 'e'); str = str.replace(/ł/g, 'l'); str = str.replace(/ń/g, 'n'); str = str.replace(/ó/g, 'o'); str = str.replace(/ś/g, 's'); str = str.replace(/ż/g, 'z'); str = str.replace(/ź/g, 'z'); str = str.replace(/[^a-z0-9]/g, '-'); return str; } function form_urlify(src_id, tgt_id) { var src = document.getElementById(src_id); var tgt = document.getElementById(tgt_id); if (tgt.value == '') { tgt.value = form_urlify_string(src.value); } } function form_checkificate(form_id, input_name, check) { var form = document.getElementById(form_id); var inputs = form.getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) { var input = inputs.item(i); if (input.getAttribute("name") == input_name) { if (check) { input.setAttribute("checked", "checked"); } else { input.setAttribute("checked", null); // for msie... input.removeAttribute("checked"); // for proper browsers... } } } } function form_clear_radio(form_id, input_name) { var form = document.getElementById(form_id); var the_radio = form.elements[input_name]; for (var i = 0; i < the_radio.length; i++) { if (the_radio[i].checked == true) { the_radio[i].checked = false; } } } function form_gmap_uri_process(gmap_uri, long_id, lat_id, zoom_id) { var latlong_regexp = new RegExp("[^a-z]ll\=([0-9\.]+)\,([0-9\.]+).*?z\=([0-9]+)"); var latlong = latlong_regexp.exec(gmap_uri); var lat = latlong[1]; var long = latlong[2]; var zoom = latlong[3]; if (lat != 0 && long != 0) { $('#' + lat_id).val(lat); $('#' + long_id).val(long); } if (zoom > 0) { $('#' + zoom_id).val(zoom); } }