PHP Classes

File: fb/editor_date_month_change.js

Recommend this page to a friend!
  Classes of Kabir Hossain   PHP CodeIgniter Tips Tricks   fb/editor_date_month_change.js   Download  
File: fb/editor_date_month_change.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: PHP CodeIgniter Tips Tricks
Collection of tips and examples to use CodeIgniter
Author: By
Last change:
Date: 16 days ago
Size: 17,307 bytes
 

Contents

Class file image Download
function editor_two_level_change(selector, subtypes_array, sublabels_array) { selector = ge(selector); if (selector.getAttribute("typefor")) subselector = ge(selector.getAttribute("typefor")); if (selector && subselector) { subselector.options.length = 1; type_value = selector.options[selector.selectedIndex].value; if (type_value == "") { type_value = -1; } index = 1; suboptions = subtypes_array[type_value]; for (var key in suboptions) { subselector.options[index] = new Option(suboptions[key], key); index++; } if (sublabels_array) { if (sublabels_array[type_value]) { subselector.options[0] = new Option(sublabels_array[type_value], ""); subselector.options[0].selected = true; } else { subselector.options[0] = new Option("---", ""); subselector.options[0].selected = true; } } subselector.disabled = subselector.options.length <= 1; } } function editor_two_level_set_subselector(subselector, value) { subselector = ge(subselector); if (subselector) { opts = subselector.options; for (var index = 0; index < opts.length; index++) { if ((opts[index].value == value) || (value === null && opts[index].value == '')) { subselector.selectedIndex = index; } } } } function editor_rel_change(selector, prefix, orig_value) { selector = ge(selector); if (selector && ge(prefix + '_new_partner')) { if (selector.value > 1) { show(prefix + '_new_partner'); if (selector.value == 4 || selector.value == 5) { hide(prefix + '_new_partner_with'); show(prefix + '_new_partner_to'); } else { show(prefix + '_new_partner_with'); hide(prefix + '_new_partner_to'); } } else { hide(prefix + '_new_partner'); hide(prefix + '_new_partner_with'); hide(prefix + '_new_partner_to'); } } else { if (selector.value == 4 || selector.value == 5) { hide(prefix + '_rel_with'); show(prefix + '_rel_to'); } else if (selector.value > 1) { show(prefix + '_rel_with'); hide(prefix + '_rel_to'); } } if (selector && ge(prefix + '_rel_uncancel')) { if (selector.value > 1) editor_rel_uncancel(selector, prefix, selector.value); else editor_rel_cancel(selector, prefix); } editor_rel_toggle_awaiting(selector, prefix, orig_value); } function editor_rel_toggle_awaiting(selector, prefix, orig_value) { selector = ge(selector); if (selector && ge(prefix + '_rel_required')) { if (selector.value == orig_value) { hide(prefix + '_rel_required'); show(prefix + '_rel_awaiting'); } else { show(prefix + '_rel_required'); hide(prefix + '_rel_awaiting'); } } } function editor_rel_cancel(selector, prefix) { if (ge(prefix + '_rel_uncancel')) show(prefix + '_rel_uncancel'); if (ge(prefix + '_rel_cancel')) hide(prefix + '_rel_cancel'); selector = ge(selector); if (ge(selector) && ge(selector).selectedIndex > 1) editor_rel_set_value(selector, 1); } function editor_rel_uncancel(selector, prefix, rel_value) { if (ge(prefix + '_rel_uncancel')) hide(prefix + '_rel_uncancel'); if (ge(prefix + '_rel_cancel')) show(prefix + '_rel_cancel'); if (rel_value == 4 || rel_value == 5) { hide(prefix + '_rel_with'); show(prefix + '_rel_to'); } else if (rel_value > 1) { show(prefix + '_rel_with'); hide(prefix + '_rel_to'); } if (ge(selector) && ge(selector).selectedIndex <= 1) editor_rel_set_value(selector, rel_value); editor_rel_toggle_awaiting(selector, prefix, rel_value); } function editor_autocomplete_onselect(result) { var hidden = ge(/(.*)_/.exec(this.obj.name)[1] + '_id'); if (result) { hidden.value = result.i == null ? result.t : result.i; } else { hidden.value = -1; } } function editor_rel_set_value(selector, value) { selector = ge(selector); if (selector) { opts = selector.options; opts_length = opts.length; for (var index = 0; index < opts_length; index++) { if ((opts[index].value == value) || (value === null && opts[index].value == '')) { selector.selectedIndex = index; } } } } function enableDisable(gainFocus, loseFocus) { loseFocus = ge(loseFocus); if (loseFocus) { if (loseFocus.value) loseFocus.value = ""; if (loseFocus.selectedIndex) loseFocus.selectedIndex = 0; } } function show_editor_error(error_text, exp_text) { ge('editor_error_text').innerHTML = error_text; ge('editor_error_explanation').innerHTML = exp_text; show('error'); } function make_explanation_list(list, num, verb_plur, verb_sing, postfix) { var exp = ""; var item; for (item in list) { if (item > 0 && num > 2) exp += ", "; if (item > 0 && (item == num - 1)) exp += " and "; exp += list[item]; } exp += " "; if (num > 1) { exp += verb_plur; } else { exp += verb_sing; } exp += " " + postfix; return exp; } function TimeSpan(start_prefix, end_prefix, span, auto) { this.get_start_ts = function () { return _get_date_time_ts(_start_month, _start_day, _start_year, _start_hour, _start_min, _start_ampm); } this.get_end_ts = function () { var start_ts = _get_date_time_ts(_start_month, _start_day, _start_year, _start_hour, _start_min, _start_ampm); var end_ts = _get_date_time_ts(_end_month, _end_day, _end_year, _end_hour, _end_min, _end_ampm); if (start_ts > end_ts && !(_start_year && _end_year)) { var future_date = new Date(); future_date.setTime(end_ts); future_date.setFullYear(future_date.getFullYear() + 1); return future_date.getTime(); } else { return end_ts; } } var _start_month = ge(start_prefix + '_month'); var _start_day = ge(start_prefix + '_day'); var _start_hour = ge(start_prefix + '_hour'); var _start_year = ge(start_prefix + '_year'); var _start_min = ge(start_prefix + '_min'); var _start_ampm = ge(start_prefix + '_ampm'); var _end_month = ge(end_prefix + '_month'); var _end_day = ge(end_prefix + '_day'); var _end_year = ge(end_prefix + '_year'); var _end_hour = ge(end_prefix + '_hour'); var _end_min = ge(end_prefix + '_min'); var _end_ampm = ge(end_prefix + '_ampm'); var _bottom_touched; if (auto) { _bottom_touched = false; } else { _bottom_touched = true; } var _start_touched = function () { if (!_bottom_touched) { _propogate_time_span(_start_month, _start_day, _start_year, _start_hour, _start_min, _start_ampm); } } var _end_touched = function () { _bottom_touched = true; } var _propogate_time_span = function () { var start_ts = _get_date_time_ts(_start_month, _start_day, _start_year, _start_hour, _start_min, _start_ampm); var end_ts = start_ts + span * 60000; _set_date_time_from_ts(end_ts, _end_month, _end_day, _end_year, _end_hour, _end_min, _end_ampm); } var _get_date_time_ts = function (m, d, y, h, min, ampm) { var this_date = new Date(); var date_this_day = this_date.getDate(); var date_this_month = this_date.getMonth(); var date_this_year = this_date.getFullYear(); var month = m.value - 1; var date = d.value; var hour; var minutes = min.value; var year; hour = parseInt(h.value); if (hour == 12) hour = 0; if (ampm.value == 'pm') { hour = hour + 12; } if (!y) { if (month < date_this_month) { year = date_this_year + 1; } else { if (month == date_this_month && date < date_this_day) { year = date_this_year + 1; } else { year = date_this_year; } } } else { year = y.value; } var new_date = new Date(year, month, date, hour, minutes, 0, 0); var ts = new_date.getTime(); return ts; } var _set_date_time_from_ts = function (ts, m, d, y, h, min, ampm) { var new_date = new Date(); new_date.setTime(ts); var old_month = m.value; var new_month = new_date.getMonth() + 1; var new_day = new_date.getDate(); var new_hour = new_date.getHours(); var new_minutes = new_date.getMinutes(); var new_year = new_date.getFullYear(); var new_ampm; if (new_hour > 11) { new_ampm = 'pm'; if (new_hour > 12) { new_hour = new_hour - 12; } } else { if (new_hour == 0) new_hour = 12; new_ampm = 'am'; } if (new_minutes < 10) { new_minutes = "0" + new_minutes; } m.value = new_month; d.value = new_day; if (y) { y.value = new_year; } h.value = new_hour; min.value = new_minutes; ampm.value = new_ampm; if (old_month != new_month) { editor_date_month_change(m, d, y ? y : false); } } var _start_month_touched = function () { _start_touched(); editor_date_month_change(_start_month, _start_day, _start_year ? _start_year : false); } var _end_month_touched = function () { _end_touched(); editor_date_month_change(_end_month, _end_day, _end_year ? _end_year : false); } _start_month.onchange = _start_month_touched; _start_day.onchange = _start_touched; if (_start_year) { _start_year.onchange = _start_touched; } _start_hour.onchange = _start_touched; _start_min.onchange = _start_touched; _start_ampm.onchange = _start_touched; _end_month.onchange = _end_month_touched; _end_day.onchange = _end_touched; if (_end_year) { _end_year.onchange = _end_touched; } _end_hour.onchange = _end_touched; _end_min.onchange = _end_touched; _end_ampm.onchange = _end_touched; } function editor_date_month_change(month_el, day_el, year_el) { var month_el = ge(month_el); var day_el = ge(day_el); var year_el = year_el ? ge(year_el) : false; var new_num_days = month_get_num_days(month_el.value, year_el.value && year_el.value != -1 ? year_el.value : false); var b = day_el.options[0].value == -1 ? 1 : 0; for (var i = day_el.options.length; i > new_num_days + b; i--) { remove_node(day_el.options[i - 1]); } for (var i = day_el.options.length; i < new_num_days + b; i++) { day_el.options[i] = new Option(i + (b ? 0 : 1)); } } function editor_date_year_change(month, day, year) { editor_date_month_change(month, day, year); } function month_get_num_days(month, year) { var temp_date; if (month == -1) { return 31; } temp_date = new Date(year ? year : 1912, month, 0); return temp_date.getDate(); } function toggleEndWorkSpan(prefix) { if (shown(prefix + '_endspan')) { hide(prefix + '_endspan'); show(prefix + '_present'); } else { show(prefix + '_endspan'); hide(prefix + '_present'); } } function regionCountryChange(label_id, country_id, region_id, label_prefix) { switch (country_id) { case '326': show(region_id); ge(label_id).innerHTML = label_prefix + 'Province'; break; case '398': show(region_id); ge(label_id).innerHTML = label_prefix + 'State'; break; default: ge(label_id).innerHTML = label_prefix + 'Country'; hide(region_id); break; } } function regionCountryChange_twoLabels(country_label_id, region_label_id, country_id, region_id, label_prefix) { show(country_label_id); ge(country_label_id).innerHTML = label_prefix + 'Country'; switch (country_id) { case '326': show(region_id); show(region_label_id); ge(region_label_id).innerHTML = label_prefix + 'Province'; break; case '': case '398': show(region_id); show(region_label_id); ge(region_label_id).innerHTML = label_prefix + 'State'; break; default: ge(region_label_id).innerHTML = label_prefix + 'State'; ge(region_id).disabled = true; break; } } function regionCountyChange_setUSifStateChosen(country_select_id, region_select_id) { region_select = ge(region_select_id); country_select = ge(country_select_id); if (region_select.value != '' && country_select.value == '') { country_select.value = 398; } } function regionCountryChange_restrictions(country_select_id, region_select_id) { country_select = ge(country_select_id); if (country_select.value == 398) { country_select.value = ''; } else if (country_select.value == 326) { region_select = ge(region_select_id); if (region_select.value) { country_select.value = ''; } } } function textLimit(ta, count) { var text = ge(ta); if (text.value.length > count) { text.value = text.value.substring(0, count); if (arguments.length > 2) { ge(arguments[2]).style.display = 'block'; } } } function textLimitStrict(text_id, limit, message_id, count_id, submit_id) { var text = ge(text_id); var len = text.value.length; var diff = len - limit; if (diff > 0) { if (diff > 25000) { text.value = text.value.substring(0, limit + 25000); diff = 25000; } ge(message_id).style.display = 'block'; ge(count_id).innerHTML = diff; ge(submit_id).disabled = true; } else { if (ge(count_id).innerHTML != 0) { ge(count_id).innerHTML = 0; ge(message_id).style.display = 'none'; ge(submit_id).disabled = false; } } } function calcAge(month_el, day_el, year_el) { bYear = parseInt(ge(year_el).value); bMonth = parseInt(ge(month_el).value); bDay = parseInt(ge(day_el).value); theDate = new Date(); year = theDate.getFullYear(); month = theDate.getMonth() + 1; day = theDate.getDate(); age = year - bYear; if ((bMonth > month) || (bMonth == month && day < bDay)) age--; return age; } function genYearOptionList(yearStart, yearEnd, curYear, name, parent) { var theSelect = document.createElement('select'); theSelect.name = name; theSelect.id = name; var blank = document.createElement('option'); blank.innerHTML = 'Year:'; theSelect.appendChild(blank); for (var i = yearEnd; i >= yearStart; i--) { var element = document.createElement('option'); if (curYear != 0 && curYear == i) { element.setAttribute('selected', 'selected'); } element.setAttribute('value', i); element.innerHTML = i; theSelect.appendChild(element); } ge(parent).appendChild(theSelect); } function genMonthOptionList(curMonth, name, parent) { var theSelect = document.createElement('select'); theSelect.name = name; theSelect.id = name; if (arguments.length > 3) { theSelect.setAttribute('onchange', arguments[3]); } var blank = document.createElement('option'); blank.innerHTML = 'Month:'; theSelect.appendChild(blank); var months = new Array(); months[0] = 'January'; months[1] = 'February'; months[2] = 'March'; months[3] = 'April'; months[4] = 'May'; months[5] = 'June'; months[6] = 'July'; months[7] = 'August'; months[8] = 'September'; months[9] = 'October'; months[10] = 'November'; months[11] = 'December'; for (var i = 1; i <= 12; i++) { var element = document.createElement('option'); if (curMonth != 0 && curMonth == i) { element.setAttribute('selected', 'selected'); } element.setAttribute('value', i); element.innerHTML = months[i - 1]; theSelect.appendChild(element); } ge(parent).appendChild(theSelect); }