var BrowserVersion = {};initBrowserVersion(); function initBrowserVersion(){var ua = navigator.userAgent.toLowerCase(); var versions;(versions = ua.match(/msie ([\d.]+)/)) ? BrowserVersion.ie = versions[1] : (versions = ua.match(/firefox\/([\d.]+)/)) ? BrowserVersion.firefox = versions[1] : (versions = ua.match(/chrome\/([\d.]+)/)) ? BrowserVersion.chrome = versions[1] : (versions = ua.match(/opera.([\d.]+)/)) ? BrowserVersion.opera = versions[1] : (versions = ua.match(/version\/([\d.]+).*safari/)) ? BrowserVersion.safari = versions[1] : 0;} function bookMarkSite(url,name) {if (BrowserVersion.ie) { // IE window.external.AddFavorite(url, name); } else if (BrowserVersion.firefox) {window.sidebar.addPanel(name,url,""); } else if (BrowserVersion.opera || BrowserVersion.chrome || BrowserVersion.safari) {alert("Please press Ctrl+D to bookmark this page."); } else {PopupWindow('bookmarkSite.sdi','BookmarkSite','400','300','no'); } } function checkHTML(field_id) {var field = document.getElementById(field_id); if (field == null) return true;var html = field.value.toString(); if (html.length == 0) return true;var cbox_name = field.name + "_saveanyway";var cbox = document.getElementById(cbox_name); if (cbox != null && cbox.checked) return true;var req = doWaitedXmlHttpRequest('checkHTMLfield.sdi', null, "POST", 'div_id=' + field.name + '_invalid_tags' + '&html=' + escape(html)); var section = document.getElementById(field.name + '_invalid_tags'); if (section == null) {return true;} var tags = req.responseXML.documentElement.getElementsByTagName("invalid_tags"); if (tags.length == 0 || tags[0].firstChild == null) {section.innerHTML = '';return true;} var invalid_tags=tags[0].firstChild.data;help_link = "Click on help to learn why this failed and how to write acceptable HTML.";section.innerHTML = '
' + invalid_tags.toString() + '
Check the box and save again to bypass validation  
' + help_link + '
';return false;} function setCellValue(id, value) {var mycel = document.getElementById(id); if (mycel == null) {alert("setCellValue called with invalid id=" + id); return;} while(mycel.childNodes.length) mycel.removeChild(mycel.childNodes[0]); mycel.appendChild(document.createTextNode(value)); } function getCellValue(id) {var mycel = document.getElementById(id); if (mycel == null) {alert("getCellValue called with invalid id=" + id); return "";} return mycel.firstChild.nodeValue;} function addTableRow(tbl, tbl_extra, row_contents) {addTableRowAt(tbl, tbl_extra, row_contents, -1); } function addTableRowAt(tbl, tbl_extra, row_contents, insert_at_idx) {if(tbl.outerHTML && insert_at_idx == -1 && !(BrowserVersion.chrome || BrowserVersion.safari)) {tbl.outerHTML="" + tbl.innerHTML + row_contents + "
";} else {var index = row_contents.indexOf(">"); var tr = row_contents.substring(0,index+1); var idx = tr.indexOf("id="); var row_id="";if (idx > 0) {row_id = tr.substring(idx+3); var delim=row_id.substring(0,1); row_id=row_id.substring(1); idx=row_id.indexOf(delim); row_id=row_id.substring(0,idx); } row_contents = row_contents.substring(index + 1); idx=row_contents.lastIndexOf(""); row_contents = row_contents.substring(0, idx); var new_row=tbl.insertRow(insert_at_idx); new_row.id=row_id;try {new_row.innerHTML=row_contents;} catch (err) {while (row_contents.indexOf("= 0) {var startidx=row_contents.indexOf(">"); var endidx=row_contents.indexOf(""); var new_td=new_row.insertCell(); var cell_attribs=row_contents.substring(row_contents.indexOf(""); if (idx >= 0) {new_td.colSpan=cell_attribs.substring(0,idx).replace(/['"]/g,''); // strip off quotes } else {new_td.colSpan=cell_attribs.replace(/['"]/g,''); // strip off quotes } } if (cell_attribs.indexOf("align=")>=0) {cell_attribs=cell_attribs.substring(cell_attribs.indexOf("align=")+6); idx=cell_attribs.indexOf(" "); if (idx<0) idx=cell_attribs.indexOf(">"); if (idx >= 0) {new_td.setAttribute("align", cell_attribs.substring(0,idx).replace(/['"]/g,'')); } else {new_td.setAttribute("align", cell_attribs.replace(/['"]/g,'')); } } var cell_contents=row_contents.substring(startidx+1, endidx); new_td.innerHTML=cell_contents;row_contents = row_contents.substring(endidx+5); } } } initDatepicker(tbl); parentResizeInner(); } function initDatepicker(ele) {var $elements;if (ele) {$elements = $(ele).find("input.datepicker, input.datepicker_if_able"); } else {$elements = $("input.datepicker, input.datepicker_if_able"); } if ($elements.length == 0) return;$elements.datepicker({showOn: "button", buttonImage: "/hatfieldtownship/show-calendar.gif", buttonText: "Date Picker", buttonImageOnly: true, dateFormat: 'M d, yy', beforeShow: function(dateText, inst) {$(this).keydown(); } }); if (ele) {$(ele).find("input.datepicker_if_able").datepicker("option", "onAble", true); } else {$("input.datepicker_if_able").datepicker("option", "onAble", true); } } function removeTableRow(tbl, row_index) {if (tbl.rows.length > 0 && row_index < tbl.rows.length) tbl.deleteRow(row_index); parentResizeInner(); } function removeAllTableRows(tbl) {if (tbl != null){while(tbl.rows.length > 0){tbl.deleteRow(0); } } parentResizeInner(); } function allFieldsValid(form){with(form){for(var i=0;i tag. */ var _keep_alive_wait_timer=null;var authtoken=null;function sdiOnLoad(pageAuthToken, tabId) {try {var el = parent.document.getElementById(self.name); if (el && el.className=='content_iframe') {el.style.width="";} } catch (err){} try {initialResize(); } catch (err) {} try {if (typeof(pageAuthToken)!='undefined' && pageAuthToken!=null && pageAuthToken.length > 0) {authtoken = pageAuthToken;for(i=0; i < document.forms.length; i++) {var elem = document.createElement("input"); elem.setAttribute("type", "hidden"); elem.setAttribute("name", "sdireqauth"); elem.setAttribute("value", pageAuthToken); document.forms[i].appendChild(elem); } for (i=0; i < document.links.length; i++) {var link = document.links[i];if (!link.href || link.href.substr(0,11)=="javascript:" || link.href.indexOf(".sdi")<0) continue;if (BrowserVersion.ie) {var inner_html = link.innerHTML;link.href += (link.href.indexOf('?') < 0 ? "?" : "&") + "sdireqauth=" + authtoken;if (inner_html != link.innerHTML) link.innerHTML = inner_html; // Fix display issue when text has '@' (AN-22986) } else {link.href += (link.href.indexOf('?') < 0 ? "?" : "&") + "sdireqauth=" + authtoken;} } } } catch (err) {} try {_keep_alive_wait_timer=setTimeout(function() { _keep_alive_wait_timer = null; }, keep_alive_delay_minutes*60000); for (var i = 0; i < document.forms.length; i++) {var form = document.forms[i];if(!form.action || form.action.length == 0) return;for (var j = 0; j=0) {var version = navigator.userAgent.substring(index).split("/")[1];if(parseFloat(version)>=0.1)FFExtra=32;} try {var list = parent.document.getElementsByTagName('iframe'); for(i=0;i=0) {var version = navigator.userAgent.substring(index).split("/")[1];if(parseFloat(version)>=0.1)FFextraHeight=32;} parentResizeInner(); var list = document.getElementsByTagName('iframe'); for(i=0;i= 0 ? getElementBodyWidth(el) : getBodyWidth(); if (document.documentElement && document.documentElement.offsetWidth && document.documentElement.offsetWidth < content_width) {el.style.width = content_width;} } catch (error) {} } if (el.addEventListener){el.addEventListener("load", readjustIframe, false); el.addEventListener("resize", readjustIframe, false); } else if (el.attachEvent){el.detachEvent("onload", readjustIframe); el.attachEvent("onload", readjustIframe); el.detachEvent("onresize", readjustIframe); el.attachEvent("onresize", readjustIframe); } } } function readjustIframe(loadevt) {var crossevt=(window.event)? event : loadevt;var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement;if (iframeroot && typeof(resizeIframe)!='undefined'){resizeIframe(iframeroot.id); } } function resizeIFrameForApp(target_tab_id) {if(!target_tab_id || target_tab_id.length == 0) {var content_nav_frame = findFrame("sdi_main_nav"); if (content_nav_frame) {target_tab_id = content_nav_frame.findContentTabIdForMenu(); } } if (target_tab_id && target_tab_id.length > 0) {try {var el = parent.document.getElementById(target_tab_id + '_content_iframe'); if (!el) el = parent.parent.document.getElementById(target_tab_id + '_content_iframe'); if (el) {el.style.height='100%';el.style.width='100%';el.style.overflow="auto";el.scrolling = "auto";} } catch (err) { } } } function textAreaExpand(img,field){var fld = "";for (var i = 0; i < document.forms.length; i++) {fld = eval("document.forms["+i+"]."+field); if(fld != null){break;} } if(fld.rows<10){img.name="clicked";for (i = 0; i < document.images.length; i++) {var docImg = document.images[i];if(docImg.name==img.name){var imgEnable = document.images[i+1];imgEnable.style.display = '';} } img.name="";} if(fld.rows<100){fld.rows+=10;parentResizeInner(); } } function textAreaContract(img,field){var fld = "";for (var i = 0; i < document.forms.length; i++) {fld = eval("document.forms["+i+"]."+field); if(fld != null){break;} } if(fld.rows>10){fld.rows-=10;parentResizeInner(); } if(fld.rows<10){img.style.display = 'none';img.name="clicked";for (i = 0; i < document.images.length; i++) {var docImg = document.images[i];if(docImg.name==img.name){var imgEnable = document.images[i];imgEnable.style.display = 'none';} } img.name="";} } function toggleDisplay(id){var elem=document.getElementById(id); if (!elem) return;elem.style.display=elem.style.display ? '' : 'none';parentResizeInner(); } function setIframeDisplay(iframe,id,display){if(frames) {var elem=frames(iframe).document.getElementById(id); if(elem)elem.style.display=display ? '' : 'none';} } function setDisplay(elem,display){if (elem && typeof(elem).toLowerCase()=='string') {elem = document.getElementById(elem); } if(!elem) return;elem.style.display=display ? '' : 'none';parentResizeInner(); } function isDisplayed(elem){if (elem && typeof(elem).toLowerCase()=='string') {elem = document.getElementById(elem); } if(!elem) return false;return elem.style.display=='';} function toggleBodyTriangle(id){setBodyTriangle(id,isDisplayed(id + "_body")); } function setBodyTriangle(id,v){setDisplay(id + "_downtriangle",v); setDisplay(id + "_righttriangle",!v); } function toggleGroupBody(id){toggleDisplay(id + "_body"); toggleBodyTriangle(id); } function setGroupBody(id,v){setDisplay(id + "_body",v); setBodyTriangle(id,v); } function setDisabledState(elem, disabled_state){if (elem && typeof(elem).toLowerCase()=='string') {elem = document.getElementById(elem); } if(elem)elem.disabled = disabled_state;} function setDisabledAll(disabled_state) {for (var i = 0; i < document.forms.length; i++) {var form = document.forms[i];for (var j = 0; j 12) {return false;} if (!isInteger(ccexpyear)) return false;var year;if (ccexpyear.length == 2) {year = "20" + ccexpyear;} else if (ccexpyear.length == 4) {year = ccexpyear;} else {return false;} var month = ccexpmonth; // ccexpmonth 1(jan) - 12(dec), month will be 0-based index of FOLLOWING month if (month == 12) {month = 0;year++;} var expdate = new Date(); expdate.setFullYear(year,month,1); // first day of month following expiration if (expdate < new Date()) {return false; // expiration date is in the past } return true;} function capitalizeMe(field) {if (emptyField(field))return;var first_letter=field.value.substring(0,1); if(first_letter.toUpperCase()==first_letter)return;newVal = '';val = field.value.toLowerCase().split(' '); for(var c=0; c < val.length; c++) {newVal += val[c].substring(0,1).toUpperCase() + val[c].substring(1,val[c].length) + ' ';} field.value = newVal;} function PrepCodeObj (id,setup_h,setup_m,ready_h,ready_m,eventnotes) {this.id=id;this.setup_h=setup_h;this.setup_m=setup_m;this.ready_h=ready_h;this.ready_m=ready_m;this.eventnotes = eventnotes;} function prepCodeChange(prep_code){with(prep_code.form){for(var i=0;i=0;j--){if(address.value.charAt(j)==' ') continue;address_value=address.value.substring(0,j+1); break;} var space_found = false;var has_number = false;for(var i=0;i 0 && key_id < ajax_id.value) {return;} ajax_id.value = key_id;var enrollment_id = parseInt(req.responseXML.documentElement.getElementsByTagName("enrollment_id")[0].firstChild.data); for(var i=0;i 0 && el[0].firstChild != null) {var desc = el[0].firstChild.data;fees[i].desc=desc;} tag = "amt_" + fees[i].id;var amt = req.responseXML.documentElement.getElementsByTagName(tag)[0].firstChild.data;fees[i].current_fee=parseFloat(amt); tag = "tax_" + fees[i].id;amt = req.responseXML.documentElement.getElementsByTagName(tag)[0].firstChild.data;fees[i].tax = parseFloat(amt); } showFeeTotals(document.fees, enrollment_id); } } } } catch(err) {} } function showFeeTotals(form, enrollment_id){if (!enrollment_id || typeof enrollment_id == 'undefined' || isNaN(enrollment_id)) {enrollment_id = 0;} var enrollment_id_key = enrollment_id > 0 ? enrollment_id : '';with(form){var taxes=0.0;var total=0.0;var has_per_use_fee = false;var per_use_total = 0.0;for(var i=0;i 0) {eval("feeinclude_"+fees[i].id).checked=fees[i].include;} if (fees[i].per_use_fee) {per_use_total = fees[i].include ? fees[i].current_fee : 0;has_per_use_fee = true;if (!fees[i].include) {eval("feeamount_"+fees[i].id).value="0";} else {eval("feeamount_"+fees[i].id).value=formatCurrency(fees[i].current_fee); } continue;} if (fees[i].desc != '') {var desc_tr=document.getElementById("desc_"+fees[i].id); if (desc_tr) desc_tr.innerHTML = fees[i].desc;} if(!fees[i].include){eval("feeamount_"+fees[i].id).value="0";continue;} eval("feeamount_"+fees[i].id).value=formatCurrency(fees[i].current_fee); var seats = 1;if(typeof hiddenadjustedseatcount != 'undefined' && fees[i].prorate){seats=hiddenadjustedseatcount.value;} else {seats=hiddenseatcount.value;} var this_total=fees[i].current_fee;if (seats!=1) this_total*=seats;var this_tax = fees[i].tax;if (seats != 1) this_tax*=seats;total+=this_total;taxes+=this_tax;} eval("currentfee"+enrollment_id_key).value=formatCurrency(total); if (has_per_use_fee) {eval("current_per_use_fee"+enrollment_id_key).value=formatCurrency(per_use_total); } eval("transactiontax"+enrollment_id_key).value=formatCurrency(taxes); var total_val = total + per_use_total + taxes;try {if(typeof eval("deposit"+enrollment_id_key) != 'undefined') {total_val = total_val - eval("deposit"+enrollment_id_key).value;} } catch(err) {} var diff = total_val-parseFloat(eval("totalfee"+enrollment_id_key).value); eval("totalfee"+enrollment_id_key).value=formatCurrency(total_val); try {if (enrollment_id>0) {if(typeof eval("sub_activity_fees_total_"+enrollment_id_key) != 'undefined'){eval("sub_activity_fees_total_"+enrollment_id_key).value = formatCurrency(total_val); } } else {if(typeof sub_activity_fees_total != 'undefined') {sub_activity_fees_total.value = formatCurrency(total_val); } } } catch (err) {} try {if(enrollment_id > 0 && typeof eval("grand_total_"+enrollment_id_key) != 'undefined'){eval("grand_total_"+enrollment_id_key).value = formatCurrency(parseFloat(eval("grand_total_"+enrollment_id_key).value) + parseFloat(diff)); } } catch (err) {} try {if(typeof all_enroll_total != 'undefined'){all_enroll_total.value=formatCurrency(parseFloat(all_enroll_total.value)+parseFloat(diff)); } } catch (err) {} try {if(typeof grand_total != 'undefined'){grand_total.value=formatCurrency(parseFloat(grand_total.value)+parseFloat(diff)); } } catch (err) {} try {if(typeof transfer_grand_total != 'undefined' && typeof raw_total_prev_fee != 'undefined') {transfer_grand_total.value=formatCurrency(total_val + parseFloat(raw_total_prev_fee.value)); } } catch (err) {} } } var postal_to_city=["18915","Colmar","PA","0","18932","Line Lexington","PA","0","18964","Souderton","PA","0","19440","Hatfield","PA","0","19446","Lansdale","PA","0",]; var geo_to_resident=["2","0","1","0","3","0",]; function setCityState(form,set_resident) {with(form){for(var i=0;i=0){for(var i=0;i 11){alert("The SSN should not be longer than 11 digits."); ssn.focus(); return false;} return true;} function validEIN (ein) {var number_digits = 0;var new_ein = "";for(var i=0;i1){alert(msg+" can contain only one decimal point."); field.focus(); return false;} } } return true;} function customerID(field,msg) {if(field.value.length==0)return true;var val = field.value;if(val.length<=3)return wholeNumber(field,msg); return true;} function PopupWindow(mypage,myname,w,h,scroll) {var offset = 20;var winl = screen.width-w;if ((parseFloat(w)+parseFloat(offset))0)mypage=mypage+"&popup_window=yes"; else mypage=mypage+"?popup_window=yes";win = window.open(mypage, myname, winprops); try {if (parseInt(navigator.appVersion,10) >= 4) win.window.focus(); } catch(err) {} } function PopupWindowWithMenu(mypage,myname,w,h,scroll) {var offset = 20;var winl = screen.width-w;if ((parseFloat(w)+parseFloat(offset))0)mypage=mypage+"&popup_window=yes"; else mypage=mypage+"?popup_window=yes";win = window.open(mypage, myname, winprops); try {if (parseInt(navigator.appVersion,10) >= 4) win.window.focus(); } catch(err) {} } function NewWindow(mypage) {if(mypage.indexOf('?')>0)mypage=mypage+"&new_window=yes"; else mypage=mypage+"?new_window=yes";win = window.open(mypage, "ReceiptWindow", "menubar=yes,toolbar=yes,scrollbars=yes,resizable"); if (parseInt(navigator.appVersion,10) >= 4) win.window.focus(); } function formatCurrency(num) {num = num.toString().replace(/\$|\,/g,''); if(isNaN(parseFloat(num))) num = "0";num=parseFloat(num); var neg=num<0;if(neg)num=-num;num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0";cents = Math.floor(num*100+0.5)%100;num = Math.floor((num*100+0.5)/100).toString(); if(cents < 10) cents = "0" + cents;num+="." + cents;if(neg)num="-"+num;return num;} function validCurrency(field,field_name) {if(emptyField(field))return true;for(var i=0;i") {warn_msg += "greater than ";} else if (operater == ">=") {warn_msg += "greater than or equal to ";} else if (operater == "<") {warn_msg += "less than ";} else if (operater == "<=") {warn_msg += "less than or equal to ";} else if (operater == "=") {warn_msg += "equal to ";} if (condition_value == 0) {warn_msg += "ZERO";} else {warn_msg += condition_value;} alert(warn_msg); field.focus (); return false;} return true;} function empty(field,msg) {if(!emptyField(field)) return false;if(field.type=="text"||field.type=="password"||field.type=="textarea") {alert("Please enter "+msg+"."); if(!field.disabled) field.focus(); return true;} if(field.type=="select-one"||field.type=="select-multiple" || field.type == "file"){alert("Please select "+msg+"."); if(!field.disabled) field.focus(); return true;} alert(msg + " doesn't exist"); return false;} function emptyField(field){if(field==null){alert("'emptyField' called with undefined field"); return true;} if(field.type=="hidden")return false;if(field.type=="text"||field.type=="password"||field.type=="textarea"||field.type=="file") {for(var i=0;i 0) {for (var i=0;i"); this.wwrite("Calendar"); this.wwrite(""); this.wwrite(""); this.wwrite(""); this.wwrite (""); this.wwrite("
"); var prevMMYYYY = this.calc_month_year(this.gMonth, this.gYear, -1); var prevMM = prevMMYYYY[0];var prevYYYY = prevMMYYYY[1];var nextMMYYYY = this.calc_month_year(this.gMonth, this.gYear, 1); var nextMM = nextMMYYYY[0];var nextYYYY = nextMMYYYY[1];this.wwrite("
"); this.wwrite(""); this.wwrite(""); this.wwrite(""); this.wwrite(""); this.wwrite ("
[" + Calendar.Months[prevMM].substring(0,3) + "]" + this.gMonthName + " " + this.gYear + "[" + Calendar.Months[nextMM].substring(0,3) + "]
"); this.wwrite (""); this.cal_header(); this.cal_data(); this.wwrite ("
"); this.wwrite(""); this.wwrite(""); this.wwrite(""); this.wwrite ("
[" + (parseInt(this.gYear)-1) + "][" + (parseInt(this.gYear,10)+1) + "]
"); this.wwrite ("
"); this.wwrite("
"); this.gWinCal.document.close(); } Calendar.prototype.wwrite = function(wtext) {this.gWinCal.document.writeln(wtext); } Calendar.prototype.cal_header = function() {this.wwrite(""); this.wwrite("Sun"); this.wwrite("Mon"); this.wwrite("Tue"); this.wwrite("Wed"); this.wwrite("Thu"); this.wwrite("Fri"); this.wwrite("Sat"); this.wwrite(""); } Calendar.prototype.cal_data = function() {var vDate = new Date(); vDate.setDate(1); vDate.setMonth(this.gMonth); vDate.setFullYear(this.gYear); var vFirstDay=vDate.getDay(); var vDay=1;var vLastDay=this.get_daysofmonth(this.gMonth, this.gYear); var vOnLastDay=false;/* Get day for the 1st of the requested month/year.. Place as many blank cells before the 1st day of the month as necessary. */ this.wwrite(""); for (i=0; i "); } for (j=vFirstDay; j<7; j++) {this.wwrite("" + "" + this.format_day(vDay) + ""); vDay=vDay + 1;} this.wwrite(""); for (k=2; k<7; k++) {this.wwrite(""); for (j=0; j<7; j++) {this.wwrite("" + "" + this.format_day(vDay) + "" + ""); vDay++;if (vDay > vLastDay) {vOnLastDay = true;break;} } if (j == 6) this.wwrite(""); if (vOnLastDay) break;} for (m=1; m<(7-j); m++) {this.wwrite("" + m + ""); } } Calendar.prototype.format_day = function(vday) {if (vday==gNow.getDate() && this.gMonth==gNow.getMonth() && this.gYear==gNow.getFullYear()) return "" + vday + "";else return vday;} Calendar.prototype.write_weekend_string = function(vday) {var i;for (i=0; i= 12) {p_Month-=12;p_Year++;} var ret_arr = new Array(); ret_arr[0] = p_Month;ret_arr[1] = p_Year;return ret_arr;} function Build(p_item, p_month, p_year,aux) {gCal = new Calendar(p_item,ggWinCal,p_month,p_year,aux); gCal.show(); } function SetDateFieldValues(p_dateField1, p_dateField2, readonly, adjustment){p_dateField1.readOnly = !readonly;p_dateField2.readOnly = !readonly;d = new Date(); d2 = new Date(); if (adjustment==1) {set_to_start_of_prev_month(p_dateField1, d.getMonth(), d.getFullYear()); set_to_end_of_prev_month(p_dateField2, d2.getMonth(), d2.getFullYear()); } else if (adjustment==2) {if (d.getMonth()==0){d.setFullYear(d.getFullYear()-1); } d.setMonth(1,1); set_to_start_of_prev_month(p_dateField1, d.getMonth(), d.getFullYear()); set_to_end_of_prev_month(p_dateField2, d2.getMonth(), d2.getFullYear()); } } function set_to_start_of_prev_month(p_item, current_month, current_year){d = new Date(); d.setFullYear(current_year); d.setDate(1); if (current_month==0){d.setMonth(11); d.setFullYear(current_year - 1); } else{d.setMonth(current_month - 1); } p_item.value = formatDate(d); } function set_to_end_of_prev_month(p_item, current_month, current_year){current_day = 1;d = new Date(); NonLeapMonths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];LeapMonths = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];if (current_month==0){current_month=11;current_year = current_year-1;} else {current_month=current_month-1;} if ((current_year % 4) == 0) {if ((current_year % 100) == 0 && (current_year % 400) != 0){current_day = LeapMonths[current_month];} else {current_day = NonLeapMonths[current_month];} } else {current_day = NonLeapMonths[current_month];} d.setDate(1); d.setFullYear(current_year); d.setMonth(current_month); d.setDate(current_day); p_item.value = formatDate(d); } function show_calendar_if_able(p_item, is_readonly) {if (is_readonly!=true){show_calendar(p_item,null); } } function show_calendar(p_item) {show_calendar(p_item,null); } function show_calendar(p_item,aux) {if(!aux)aux=null;ggWinCal=window.open("", "Calendar", "width=280,height=250,status=no,resizable=no,top=200,left=200"); ggWinCal.opener = self;var s = eval(p_item).value;gNow = s == "" ? new Date () : new Date (s); if (isNaN(gNow.getMonth()) || isNaN(gNow.getFullYear())) gNow = new Date(); Build(p_item, gNow.getMonth(), p_year=gNow.getFullYear(),aux); } function bumpdate(date,frequency,init_day_fmonthly){var year=date.getYear(); if(year<1900)year+=1900;var month=date.getMonth(); var day=date.getDate(); if(frequency==1){ //weekly day+=7;} else if(frequency==2){ //every other week day+=14;} else if(frequency==3){ //twice a month day+=15;} else if(frequency==4||frequency==5){//monthly & quarterly var incr=frequency==4?1:3;month+=incr;if(month>11){month-=12;year++;} if(init_day_fmonthly) day = init_day_fmonthly;if(day > Calendar.prototype.get_daysofmonth(month, year)) day = Calendar.prototype.get_daysofmonth(month, year); } else if(frequency==6){ //every four weeks day+=28;} return new Date(year,month,day); } function selectAll(box){for (var i=0;i=0; i--) {if(!box.options[i].selected)continue;box.options[i].selected=false;for(var j=i; j=0; i--) {if(box.options[i].value!=value||box.options[i].text!=text)continue;box.options[i].selected=false;for(var j=i; j=0; i--) {if(!fbox.options[i].selected)continue;fbox.options[i].selected=false;if(fbox.options[i].value=="")continue;var moved = false;for (var j=0;jtbox.options[j].text)continue;tbox.options[tbox.length]=new Option(); for (var k=tbox.length-1; k>j; k--) {tbox.options[k].value=tbox.options[k-1].value;tbox.options[k].text=tbox.options[k-1].text;} tbox.options[j].value = fbox.options[i].value;tbox.options[j].text = fbox.options[i].text;moved = true;break;} if (!moved) {new_opt = new Option (); new_opt.value=fbox.options[i].value;new_opt.text=fbox.options[i].text;new_opt.selected = false;tbox.options[tbox.length]=new_opt;} for(j=i; jmoveto;j--){box.options[j].value=box.options[j-1].value;box.options[j].text=box.options[j-1].text;} box.options[moveto].value=value;box.options[moveto].text=text;box.options[moveto].selected = true;moveto++;} } function moveUp(box){for(var i=0;i=0; i--) {if(!box.options[i].selected)continue;box.options[i].selected=false;var value = box.options[i].value;var text = box.options[i].text;for(var j=i;j=0; i--) {if(!box.options[i].selected)continue;box.options[i].selected=false;if(i==box.length-1)continue;var value = box.options[i+1].value;var text = box.options[i+1].text;box.options[i+1].value=box.options[i].value;box.options[i+1].text=box.options[i].text;box.options[i+1].selected=true;box.options[i].value=value;box.options[i].text=text;} } var digits = "0123456789";function isDigit(c) {return digits.indexOf(c)>=0;} var valid_date_months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];function validMonthDay (field,msg) {return validDate(field,msg,true); } function validDate (field,msg,month_day_format) {if(field.value=="")return true;var date_value=parseDateFieldValue(field.value); var date=new Date (date_value); if(isNaN (date)) {alert (msg+" date is invalid."); field.focus(); return false;} var year = date.getYear(); if (year == 70) { // don't use Date default for year, use current year instead date.setYear(new Date().getFullYear()); year = date.getYear(); } year = (year < 1000) ? year + 1900 : year;if (year < 1900) {alert (msg+" date is too old (earlier than 1900)."); field.focus(); return false;} if (date.getHours() == 23) {date = $.datepicker._daylightSavingAdjust(date); } if(month_day_format){date_value=formatMonthDay (date); } else {date_value=formatDate (date); if (date.getYear() > new Date ().getYear () + 50) {alert (msg+" date is too far in the future (more than fifty years)."); field.focus(); return false;} } field.value=date_value;return true;} function parseDateFieldValue(field_value) {var parsed_value="";var changed = false;var all_numeric=true;var num_slashes = 0;for (var i = 0; i < field_value.length; i++) {var ch = field_value.charAt(i); if(ch=='.'||ch=='-'){ch='/';changed=true;} if(ch == '/')num_slashes++;if(!isDigit(ch))all_numeric=false;parsed_value+=ch;} if(!changed){parsed_value=field_value;if(all_numeric){if(parsed_value.length==1) {parsed_value="0" + parsed_value;} if(parsed_value.length==2) {parsed_value+="01";} if(parsed_value.length==3) {parsed_value=parsed_value.substring(0,2) + "0" + parsed_value.substring(2); } if(parsed_value.length==4) {parsed_value+="1970";} if(parsed_value.length>4) {if(parsed_value.length%2==1) {parsed_value=parsed_value.substring(0,1)+"/"+parsed_value.substring(1,3)+"/"+parsed_value.substring(3); } else {parsed_value=parsed_value.substring(0,2)+"/"+parsed_value.substring(2,4)+"/"+parsed_value.substring(4); } } num_slashes=2;} } if(num_slashes>0){if(num_slashes==1)parsed_value+="/1970";var last_slash=parsed_value.lastIndexOf('/'); if(last_slash>0){var year=parseInt(parsed_value.substring(last_slash+1),10); if(!isNaN(year) && year<100){year += 2000;parsed_value=parsed_value.substring(0,last_slash+1)+year;} } } else {var tempVal = trimString(parsed_value).split(' '); if ((tempVal.length <= 2) && (parsed_value.indexOf(',') == -1)) {var tempDate = new Date(); currentYear = tempDate.getYear(); currentYear = (currentYear < 1000) ? currentYear + 1900 : currentYear;parsed_value+=", "+currentYear;} } return parsed_value;} function validNonFutureDate(field,msg) {if(validDate(field,msg)){var todayDate=new Date(); var checkDate=new Date(field.value); if (checkDate > todayDate){alert(msg +" date must not be later than today."); field.focus(); return false;} return true;} return false;} var month_value_map=["Jan",0,"Feb",1,"Mar",2,"Apr",3,"May",4,"Jun",5,"Jul",6,"Aug",7,"Sep",8,"Oct",9,"Nov",10,"Dec",11,]; function monthFromListOption(month_str) {for(var i=0;i findLastDayByTheMonth(month+incr,d.getYear())) d.setDate(findLastDayByTheMonth(month+incr,d.getYear())); d.setMonth(month+incr); } else {if(d.getDate() > findLastDayByTheMonth((month+incr)%12,d.getYear()+1)) d.setDate(findLastDayByTheMonth((month+incr)%12,d.getYear()+1)); d.setMonth((month+incr)%12); var year = d.getYear(); if (year < 1000) {year += 1900;} d.setYear(year+1); } } function checkMinMaxDateRange(minField, maxField){var minDate=new Date (minField.value); if(isNaN (minDate)) {alert ("Date is invalid."); minField.focus(); return false;} var maxDate=new Date (maxField.value); if(isNaN (maxDate)) {alert ("Date is invalid."); maxField.focus(); return false;} if ( minDate < maxDate ) return true;else return false;} function checkToFromPercentRange(fromField, toField){if (fromField.value != ""){if (fromField.value < 0 || fromField.value > 100){alert("The From Percent must be between 0 and 100"); fromField.focus(); return false;} } if (toField.value != ""){if (toField.value < 0 || toField.value > 100){alert("The To Percent must be between 0 and 100"); toField.focus(); return false;} } if (toField.value != "" && fromField.value != ""){if (parseInt(toField.value,10) < parseInt(fromField.value,10)){alert("The To Percent must be greater than the From Percent"); toField.focus(); return false;} } return true;} function checkToFromDateRange(fromDateField, toDateField){var dummyField = "";if (!checkToFromDateTimeRange(fromDateField, toDateField, dummyField, dummyField)) return false;var todayDate=new Date(); var checkDate = new Date(); if (fromDateField.value != ""){checkDate=new Date(fromDateField.value); if (checkDate > todayDate){alert("From Date must not be later than today."); if(!fromDateField.disabled) fromDateField.focus(); return false;} } if (toDateField.value != ""){checkDate=new Date(toDateField.value); if (checkDate > todayDate){alert("To Date must not be later than today."); if(!fromDateField.disabled) toDateField.focus(); return false;} } return true;} function checkToFromDateTimeRange(fromDateField, toDateField, fromTimeField, toTimeField){if(fromDateField.value != "" && toDateField.value != ""){var fromDate=new Date (fromDateField.value); var toDate=new Date (toDateField.value); if ( fromDate < toDate ) return true;if ( fromDate > toDate ){alert("From Date must be earlier than the To Date"); if(!fromDateField.disabled) toDateField.focus(); return false;} else {if (!checkToFromTimeRange(fromTimeField, toTimeField)){return false;} } } return true;} function checkToFromTimeRange(fromTimeField, toTimeField){if(fromTimeField.value != "" && toTimeField.value != ""){var fromTime=new Date ("January 1, 1999 "+fromTimeField.value); var toTime=new Date ("January 1, 1999 "+toTimeField.value); if ( fromTime >= toTime ) {alert("From Time must be earlier than the To Time"); toTimeField.focus(); return false;} } return true;} function findLastDayOfTheMonth(d) {var days = new Array(31,28,31,30,31,30,31,31,30,31,30,31); var lastday = days[d.getMonth()];if (d.getMonth() == 1) {year = d.getYear(); if (year%400==0 || (year%4 == 0 && year%100!=0) ) lastday +=1;} return lastday;} function findLastDayByTheMonth(month,year) {if (month<0||month>11) return 0;var days = new Array(31,28,31,30,31,30,31,31,30,31,30,31); var lastday = days[month];if (month == 1) {if (year%400==0 || (year%4 == 0 && year%100!=0) ) lastday +=1;} return lastday;} function validBirthDate (field,msg) {if(field.value=="")return true;var new_value="";var changed=false;var all_numeric=true;for (var i = 0; i < field.value.length; i++) {var ch = field.value.charAt(i); if(ch=='.'||ch=='-'){ch='/';changed=true;} if(!isDigit(ch))all_numeric=false;new_value+=ch;} if(changed){field.value=new_value;} else if(all_numeric){if(field.value.length>4) {field.value=field.value.substring(0,2)+"/"+field.value.substring(2,4)+"/"+field.value.substring(4); } } if(isNaN (Date.parse(field.value))) {alert (msg+" date is invalid."); field.focus(); return false;} var millis=Date.parse (field.value); var date=new Date(); date.setTime(millis); var year = date.getYear (); var input_year = (field.value.indexOf('/') == -1) ? trim(field.value.substring(field.value.lastIndexOf(',')+1)) : field.value.substring(field.value.lastIndexOf('/')+1); if (input_year.length == 4) {year = date.getFullYear (); if (year < 1900) {field.value=valid_date_months[date.getMonth()] + " " + date.getDate() + ", " + year;alert (msg+" date is too old."); field.focus(); return false;} } else {if (year < 100) {year += 2000;if(new Date(year,date.getMonth(),date.getDate()).getTime()>new Date().getTime())year-=100;} else if (year < 1900) {year += 1900;} } field.value=valid_date_months[date.getMonth()] + " " + date.getDate() + ", " + year;if (new Date(year,date.getMonth(),date.getDate()).getTime()>new Date().getTime()) {alert(msg+" date is in the future."); field.focus(); return false;} return true;} function militaryTime(field){} function validTime(field,msg,ampm_field) {if (field.value=="")return true;var clean_string = "";var suffix="";var end_digits=false;for (var i = 0; i < field.value.length; i++) {var ch = field.value.charAt(i); if (ch == " "){end_digits = clean_string.length>0;continue;} if (!end_digits && (ch==":" || ((ch >= "0") && (ch <= "9")))) {clean_string += ch;continue;} end_digits=true;suffix+=ch;} if (suffix.length>0) {suffix=suffix.toLowerCase (); if ("am".indexOf(suffix)==0) suffix="am";else if ("pm".indexOf(suffix)==0) suffix="pm";else {alert (msg+" time is invalid. The am/pm portion of the time is unrecognizable."); field.focus(); return false;} } else if (ampm_field!=null) {if (ampm_field[0].checked)suffix=ampm_field[0].value;else if (ampm_field[1].checked)suffix=ampm_field[1].value;} var hours = 0;var minutes = 0;var colon_index=clean_string.indexOf (":"); if (colon_index >= 0){if (colon_index>0)hours = parseInt (clean_string.substring (0,colon_index), 10); minutes = parseInt (clean_string.substring (colon_index+1, clean_string.length), 10); if (isNaN(hours) || isNaN(minutes)) {alert (msg+" time is invalid. Please use a value of the form 'HH:MM AM/PM'"); field.focus(); return false;} } else {var x = parseInt (clean_string, 10); if (isNaN (x)) {alert (msg+" time is invalid. Please use a value of the form 'HH:MM AM/PM'"); field.focus(); return false;} hours=Math.floor(x/100); minutes=x-hours*100;if(hours==0&&minutes<24){hours=minutes;minutes=0 } } if(hours==0){hours=12;if(suffix.length==0)suffix="am";} if(hours==12&&suffix.length==0) {alert(msg+" time is invalid. Please specify am/pm."); field.focus(); return false;} if (hours>12) {if (suffix.length>0){alert(msg+" time is invalid. Military time does not need am/pm"); field.focus(); return false;} hours -= 12;suffix="pm";} if (suffix.length==0)suffix="am";var s = hours.toString() + ":";if (minutes < 10)s+="0";s+=minutes.toString(); var d=new Date("January 1, 1999 "+s+" "+suffix); if(isNaN (d)) {alert (msg+" time is invalid. Please use a value of the form 'HH:MM AM/PM'"); field.focus(); return false;} if (ampm_field==null) {field.value=s+" "+suffix;} else {field.value=s;if (ampm_field[0].value.toLowerCase() == suffix) {if (!ampm_field[0].checked) {ampm_field[1].checked=false;ampm_field[0].checked=true;} } else {if (!ampm_field[1].checked) {ampm_field[0].checked=false;ampm_field[1].checked=true;} } } return true;} function validFinishTime(field,msg) {if (field.value=="")return true;var clean_string = "";var suffix="";var end_digits=false;for (var i = 0; i < field.value.length; i++) {var ch = field.value.charAt(i); if (ch == " "){end_digits = clean_string.length>0;continue;} if (!end_digits && (ch==":" || ((ch >= "0") && (ch <= "9")))) {clean_string += ch;continue;} end_digits=true;suffix+=ch;} if (suffix.length>0) {alert (msg+" time is invalid. Portions of the time are unrecognizable."); field.focus(); return false;} var hours = 0;var minutes = 0;var seconds = 0;var colon_index=clean_string.indexOf (":"); if (colon_index >= 0){if (colon_index>0)hours = parseInt (clean_string.substring (0,colon_index), 10); var colon_index2=clean_string.indexOf (":",colon_index+1); if (colon_index2>colon_index) {minutes = parseInt (clean_string.substring (colon_index+1, colon_index2), 10); seconds = parseInt (clean_string.substring (colon_index2+1, clean_string.length), 10); } else {minutes = parseInt (clean_string.substring (colon_index+1, clean_string.length), 10); } if (isNaN(hours) || isNaN(minutes) || isNaN(seconds)) {alert (msg+" time is invalid. Please use a value of the form 'HH:MM:SS'"); field.focus(); return false;} if (minutes>59) {alert (msg+" time is invalid. Maximim value for minutes is '59'"); field.focus(); return false;} if (seconds>59) {alert (msg+" time is invalid. Maximim value for seconds is '59'"); field.focus(); return false;} } else {alert (msg+" time is invalid! Please use a value of the form 'HH:MM:SS'"); field.focus(); return false;} var s = hours.toString() + ":";if (minutes < 10)s+="0";s+=minutes.toString() + ":";if (seconds < 10)s+="0";s+=seconds.toString(); field.value=s;return true;} function validTimeRange(start_time_field, end_time_field, focus_field, msg, ampm_field) {if (!validTime(start_time_field,msg,ampm_field)) return false;if (!validTime(end_time_field,msg,ampm_field)) return false;if (start_time_field.value=="" || end_time_field.value=="") return true;var t1 = new Date("January 1, 1999 " + start_time_field.value); var t2 = new Date("January 1, 1999 " + end_time_field.value); var diff = t2.getTime() - t1.getTime(); if (diff < 0) {alert(msg+" time is invalid. Start time must be before end time."); focus_field.focus(); return false;} return true;} function hoursDiff(start_time, end_time) {var t1 = new Date("January 1, 1999 " + start_time); var t2 = new Date("January 1, 1999 " + end_time); var diff = t2.getTime() - t1.getTime(); if (diff == 0) return 0;var daysDifference = Math.floor(diff /1000/60/60/24); diff -= daysDifference*1000*60*60*24 var hoursDifference = Math.floor(diff/1000/60/60); diff -= hoursDifference*1000*60*60 var minutesDifference = Math.floor(diff/1000/60); return hoursDifference;} function minutesDiff(start_time, end_time) {var t1 = new Date("January 1, 1999 " + start_time); var t2 = new Date("January 1, 1999 " + end_time); var diff = t2.getTime() - t1.getTime(); if (diff == 0) return 0;var daysDifference = Math.floor(diff /1000/60/60/24); diff -= daysDifference*1000*60*60*24 var hoursDifference = Math.floor(diff/1000/60/60); diff -= hoursDifference*1000*60*60 var minutesDifference = Math.floor(diff/1000/60); return minutesDifference;} function checkMaxLength(field, maxlimit, msg) {if (field.value.length > maxlimit){ // if too long...trim it & alert field.value = field.value.substring(0, maxlimit); alert(msg + " cannot contain more than " + maxlimit + " characters."); return false;} return true;} function trimString(sInString) {return sInString.replace(/\s+$/g,""); } function trim(str){for(var i = 0; i < str.length && str.charAt(i) == " "; i++) ;for(var j = str.length; j > 0 && str.charAt(j-1) == " "; j--) ;if(i > j) return "";return str.substring(i,j); } function showHeaderDisplayGroup(groupNum, show) {setDisplay("entiregroup_" + groupNum, show); } function toggleHeaderDisplayGroup(groupNum) {toggleDisplay("entiregroup_" + groupNum); } function getSelectedRadioObj(elem) {if (elem!=null){if (!elem.length) {return elem.checked ? elem : null;} for (var i=0; i < elem.length; i++) {if (elem[i].checked){return elem[i];} } } return null;} function getRadioValue(elem){var selected_rb = getSelectedRadioObj(elem); if (selected_rb!=null){return selected_rb.value;} return -1;} function setRadioValueSelected(elem, value) {if (elem!=null){if (!elem.length) {elem.checked = value && elem.value == value;} else {for (var i=0; i < elem.length; i++) {elem[i].checked = value && elem[i].value == value;} } } } function disabledWhenChecked(checkbox_elem, elem){elem.disabled = checkbox_elem.checked;} function enabledWhenChecked(checkbox_elem, elem){elem.disabled = !checkbox_elem.checked;} function setTransactionLevelCheckbox(groupby_combo_elem, summary_chkbx_elem, target_elem){if (groupby_combo_elem.value == 1 || summary_chkbx_elem.checked){target_elem.checked = false;target_elem.disabled = true;} else {target_elem.disabled = false;} } function checkTimeHasDatePortion(date_field,time_field) {if(time_field.value=="")return true;if(date_field.value!="")return true;alert ("If a time value is entered, a date value must be entered as well."); date_field.focus (); return false;} function CQ(question_route,parent_question_route,answer_index){this.route=question_route;this.parent_route=parent_question_route;this.answer_index=answer_index;} /****************************************************************** * * Refresh sub questions display * ******************************************************************/ function displayCQ(route, show, session_context_key) {var tr_row = document.getElementById("tr_" + route); if (tr_row == null) {if (show) getCustomSubQuestionHTML(route, session_context_key); return;} if (!show && tr_row.style.display == "none") return;tr_row.style.display = (show ? "" : "none"); var hr_row = document.getElementById("hr_" + route); if (hr_row != null) hr_row.style.display = (show ? "" : "none"); var answers = document.getElementsByName("ans." + route); var k;for (var i = 0; i < answers.length; i++) {if (answers[i].options != null) {var offset = 0;if (answers[i].options.length > 0 && answers[i].options[0].value=="") {offset = 1;} for (var j = 0; j < answers[i].options.length; j++) {var sub_question_route = document.getElementById("subq_" + route + "_" + (j - offset)); if (sub_question_route != null) {displayCQ(sub_question_route.value, answers[i].selectedIndex==j && show, session_context_key); } else if (answers[i].selectedIndex==j && show && (typeof CQs != 'undefined') && CQs != null) {for(k=0;k= 0) {var info = row_contents.substring(0,routeidx).split(":"); row_contents = row_contents.substring(routeidx+delimiter.length); route = info[0];session_key = info[1];} var insert_idx = -1;var table_element = null;for(i=0;i= 0) {var endidx = row_contents.indexOf("")+5;var next_row = row_contents.substring(idx, endidx); addTableRowAt(table_element, null, next_row, insert_idx++); row_contents = row_contents.substring(endidx); } parentResizeInner(); if (parent_route != null) {displayCQ(parent_route, true, session_key); } } else {alert("Error getting sub-question for display:\n" + req.statusText); } } } /****************************************************************** * * Display password strength * ******************************************************************/ var _password_strength_timer=null;function displaySystemUserPasswordStrengthMeter(password) {if(_password_strength_timer)clearTimeout(_password_strength_timer); _password_strength_timer=setTimeout("requestPasswordStrengthMeter('" + password + "', true)",200); } function displayPasswordStrengthMeter(password) {if(_password_strength_timer)clearTimeout(_password_strength_timer); _password_strength_timer=setTimeout("requestPasswordStrengthMeter('" + password + "', false)",200); } function requestPasswordStrengthMeter(password, for_system_user) {doXmlHttpRequest("displayPasswordStrength.sdi;jsessionid=wZC1uYxnqpmbk36VMZQsR5Yaj-o", passwordStrengthCallBack, "POST", "password="+password+(for_system_user?"&su=1":"")); } function passwordStrengthCallBack(){if (req.readyState == 4) {if (req.status == 200) {var section = document.getElementById("password_strength_section"); if (section == null) return;section.innerHTML = req.responseText;} else {alert("There was a problem retrieving the XML data:\n" + req.statusText); } } } function pointOfSaleApplet(com_port,pop_drawer_url,rno,keyboard_revision,site_id,user_name,org_name,org_address1,org_address2,org_city,org_state,org_zip,poslayout_id,popcashdrawer,autocut,smallfont,mediumfont,largefont,smallfontcharcount,mediumfontcharcount,largefontcharcount,ejectlines,cash_customer_id,cash_customer_name,cash_customer_tax_state,cash_customer_tax_country,cash_customer_membership_discounts,receiptheader_id,allow_card_type_1,allow_card_type_2,allow_card_type_3,allow_card_type_4,allow_card_type_5,allow_card_type_6,user_options,sitename,address1,address2,city,site_state,zipcode,p1,daily_close_output,pass_scan_output, enable_pole_display, pole_display_com_port, message_for_pole_display, cursor_first_line, cursor_second_line, clear_display, scroll_text_first_line, scroll_text_second_line, display_clock, character_between_hours_and_minutes,allow_payment_with_cash,allow_payment_by_memo,allow_refund_with_cash,tabbed_admin_ui,front_desk_label,topmost_menu_id,target_tab_id) {var use_tabbed_staff_ui = tabbed_admin_ui && tabbed_admin_ui.length > 0;if(use_tabbed_staff_ui) resizeIFrameForApp(target_tab_id); var width = window.innerWidth ? Math.floor(parseFloat(window.innerWidth) * 0.98) + "px" : "98%";var height = window.innerHeight ? Math.floor(parseFloat(window.innerHeight) * 0.98) + "px" : "98%";if (use_tabbed_staff_ui && navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {width = "98%";height = "98%";} document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); if(topmost_menu_id && topmost_menu_id.length > 0) {document.write(''); } document.write(''); } function passProductionAppletPhotoOnly(filedata, customer_id, imagesource, win_os, return_url, width, height, tabbed_admin_ui, target_tab_id) {passProductionApplet(filedata, customer_id, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', imagesource, win_os, return_url, width, height, tabbed_admin_ui, target_tab_id); } function passProductionApplet(filedata, customer_id, name, address1, address2, city, state, country, zipcode, hphone, age, pass_id, passnumber, pass_number_length, lastprinted, passlayoutname, error_message, imagesource, win_os, return_url, width, height, tabbed_admin_ui, target_tab_id) {var use_tabbed_staff_ui = tabbed_admin_ui && tabbed_admin_ui.length > 0;if(use_tabbed_staff_ui) resizeIFrameForApp(target_tab_id); if (use_tabbed_staff_ui && navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {width = width > 0 ? width : "98%";height = height > 0 ? height : "98%";} else {width = width > 0 ? width : window.innerWidth ? Math.floor(parseFloat(window.innerWidth) * 0.98) + "px" : "98%";height = height > 0 ? height : window.innerHeight ? Math.floor(parseFloat(window.innerHeight) * 0.98) + "px" : "98%";} var driver = win_os.length > 0 ? "morena_windows.jar" : "morena_osx.jar";document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); } function doStartupRecall(form){var elementArray = "";if (document.getElementById('GenerateList') != null){elementArray = form.definition.value.split(String.fromCharCode(255)); } else {if (document.recallDefinition) elementArray = document.recallDefinition.definition.value.split(String.fromCharCode(255)); else elementArray = "";} var lastElement = "";var ver = "";if (elementArray.length > 0 && elementArray[0].indexOf("def_format_ver_") != -1) {ver = elementArray[0];} with (form){for(i=1; i=0; z--){elem.options[z] = null;} } if (etext != " "){var opt = new Option(etext, evalue); elem.options[elem.options.length] = opt;lastElement = ename;} if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} if(etype == "select-one" || etype == "select"){elem.value = evalue;lastElement = ename;if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} if(etype == "text" || etype == "textarea" || etype == "button" ){elem.value = evalue;lastElement = ename;if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} if(etype == "checkbox-group"){if(evalue != elem.value) continue;elem.checked = true;lastElement = ename;if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} if(etype == "checkbox"){elem.checked = evalue == "true" || evalue == "true ";lastElement = ename;if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} if(etype == "radio"){if(ename != elem.name || evalue != elem.value) continue;elem.checked = true;lastElement = ename;if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';} if(ename == "EmailBodyText"){elem.value = evalue;lastElement = ename;enableDesignMode('rte1', evalue, false); if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} if(ename == "BodyText"){elem.value = evalue;lastElement = ename;enableDesignMode('rte2', evalue, false); if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} if(ename == "FooterText"){elem.value = evalue;lastElement = ename;enableDesignMode('rte3', evalue, false); if (ver == 'def_format_ver_2') elem.disabled = edisabled == 'true';break;} } } } if (document.getElementById('ApplyAdditionalFilters') != null){elem = document.getElementById('ApplyAdditionalFilters'); if (elem != null && elem.type == "checkbox" && !elem.checked){try {setFilterGroupsDisplay(false); } catch (err) { } } } if(document.getElementById('WeeklyCalendarLayout')!=null){if(document.getElementById('WeeklyCalendarLayout').options[1].selected){if(document.getElementById('CalendarTimeInterval')!=null) document.getElementById('CalendarTimeInterval').disabled=true;if(document.getElementById('IncludeFacilitiesWithoutBookings')!=null)document.getElementById('IncludeFacilitiesWithoutBookings').disabled=true;}else{if(document.getElementById('CalendarTimeInterval')!=null) document.getElementById('CalendarTimeInterval').disabled=false;if(document.getElementById('IncludeFacilitiesWithoutBookings')!=null)document.getElementById('IncludeFacilitiesWithoutBookings').disabled=false;} } if(document.getElementById('SummaryReport')!=null&&document.getElementById('SummaryReport').checked){if(document.getElementById('SortByStreetAddress')!=null)document.getElementById('SortByStreetAddress').disabled=true;}else{if(document.getElementById('SortByStreetAddress')!=null)document.getElementById('SortByStreetAddress').disabled=false;} if (document.getElementById('IncludeTeamTotals') != null){document.getElementById('IncludeTeamTotals').disabled=true;} } function elmLoop(form, emailBodyText, bodyText, footerText){var delim = String.fromCharCode(255); var elementInfo = "def_format_ver_2";if (emailBodyText){updateRTE('rte1'); form.EmailBodyText.value = getRTEValue(); } if (bodyText){updateRTE('rte2'); form.BodyText.value = getRTE2Value(); } if (footerText){updateRTE('rte3'); form.FooterText.value = getRTE3Value(); } with(form) {for(i=0; i 0){if(elem.type == "select-multiple"){if (elem.options.length > 0){for(var x=0;x= 0){elementInfo += thisElementInfo + delim + elem.options[elem.selectedIndex].value + delim + elem.options[elem.selectedIndex].text + delim + (elem.disabled ? "true" : "false"); } } else if(elem.type == "text" || elem.type == "textarea" || elem.type == "button" ){elementInfo += thisElementInfo + delim + elem.value + delim + " " + delim + (elem.disabled ? "true" : "false"); } else if(elem.type == "checkbox"){if(elem.value!='on'){if(elem.checked){elementInfo += delim + elem.name + delim + "checkbox-group" + delim + elem.value + delim + " " + delim + (elem.disabled ? "true" : "false"); } }else{elementInfo += thisElementInfo + delim + elem.checked + delim + " " + delim + (elem.disabled ? "true" : "false"); } }else if(elem.type == "radio") {if (elem.checked) {elementInfo += thisElementInfo + delim + elem.value + delim + " " + delim + (elem.disabled ? "true" : "false"); } } } } } if (emailBodyText){elementInfo += delim + "EmailBodyText" + delim + form.EmailBodyText.type + delim + form.EmailBodyText.value + delim + " " + delim + (elem.disabled ? "true" : "false"); } if (bodyText){elementInfo += delim + "BodyText" + delim + form.BodyText.type + delim + form.BodyText.value + delim + " " + delim + (elem.disabled ? "true" : "false"); } if (footerText){elementInfo += delim + "FooterText" + delim + form.FooterText.type + delim + form.FooterText.value + delim + " " + delim + (elem.disabled ? "true" : "false"); } if (document.getElementById('GenerateList') != null){form.definition.value = elementInfo;}else {document.recallDefinition.definition.value = elementInfo;} } function addPOSFeatureRow(tableName, reno, pos_product_id, unit_fee){var targetTable = document.getElementById(tableName); var rows_length = targetTable.rows.length;var newRow = targetTable.insertRow(rows_length); this["count_"+reno] += 1;var targetRow = targetTable.getElementsByTagName('tr')[0];for (var i=0; i < targetRow.cells.length; i++) {var currentCell = targetRow.cells[i];var temp = currentCell.innerHTML.replace(/id=["']([a-zA-Z0-9_]+)_[0-9]+["']/g, "id='$1_"+this["count_"+reno]+"'"); temp = temp.replace(/name=["']?([a-zA-Z0-9_]+)_[0-9]+['"]?/g, "name='$1_"+this["count_"+reno]+"'"); var newCell = document.createElement("TD"); newCell.innerHTML = temp;newRow.appendChild(newCell); } updatePOSQuantity(tableName, reno, pos_product_id, unit_fee); } function deletePOSFeatureRow(button, tableName, reno, pos_product_id, unit_fee){var row = button.parentNode.parentNode;var parent = button.parentNode.parentNode.parentNode;var row_count = parent.getElementsByTagName('tr').length;if (row_count > 1){parent.removeChild(row); updatePOSQuantity(tableName, reno, pos_product_id, unit_fee); } else alert("You cannot delete the last row"); } function updatePOSQuantity(tableName, reno, pos_product_id, unit_fee){var targetTable = document.getElementById(tableName); var arrQty = targetTable.getElementsByTagName("input"); var newQty = 0;for(var i=0; i < arrQty.length; i++){var elem = arrQty[i];if (elem != null && elem.name.indexOf("posproduct_qty_") != -1){newQty = newQty + parseInt(elem.value); } } elem = document.getElementById("posproduct_qty_"+reno+"_"+pos_product_id); if (elem != null){elem.value = newQty;} var fee_elem = document.getElementById("posproduct_fee_"+reno+"_"+pos_product_id); if (fee_elem != null){fee_elem.value = newQty * parseFloat(unit_fee); var total_elem = document.getElementById("posproduct_total_"+reno+"_"+pos_product_id); if (total_elem != null) total_elem.innerHTML = formatCurrency(fee_elem.value); } updatePOSTotal("merchandises_"+reno, reno); } function changePOSQuantity(elem, reno, pos_product_id, unit_fee){var line_amount = parseFloat(elem.value) * parseFloat(unit_fee); var net_amount = line_amount;var coupon_amount = 0;var coupon_amount_available_elem = document.getElementById("coupon_amount_available_"+reno+"_"+pos_product_id); if (coupon_amount_available_elem != null) {coupon_amount = parseFloat(coupon_amount_available_elem.value); net_amount = net_amount - Math.min(net_amount,coupon_amount); var total_less_coupon_elem = document.getElementById("posproduct_total_less_coupon_"+reno+"_"+pos_product_id); if(total_less_coupon_elem != null) {total_less_coupon_elem.innerHTML = formatCurrency(net_amount); } } var fee_elem = document.getElementById("posproduct_fee_"+reno+"_"+pos_product_id); if (fee_elem != null){var sub_amount = fee_elem.value = net_amount;var total_elem = document.getElementById("posproduct_total_"+reno+"_"+pos_product_id); if (total_elem != null) total_elem.innerHTML = formatCurrency(line_amount); } updatePOSTotal("merchandises_"+reno, reno); } function updatePOSTotal(tableName, reno){var targetTable = document.getElementById(tableName); var arrQty = targetTable.getElementsByTagName("input"); var newSubTotal = 0.0;for(var i=0; i < arrQty.length; i++){var elem = arrQty[i];if (elem != null && elem.name.indexOf("posproduct_fee_") != -1){if (isNaN(elem.value)) elem.value = 0;newSubTotal += parseFloat(elem.value); } } var subtotal_elem = document.getElementById("merchandises_subtotal_"+reno); subtotal_elem.innerHTML = formatCurrency(newSubTotal); this["merchandise_subtotal_"+reno] = newSubTotal;updateTotal(reno); } function updateTotal(reno){var newTotal = parseFloat(eval("primary_tran_enrollee_subtotal_"+reno)) + parseFloat(eval("membership_subtotal_"+reno)) + parseFloat(eval("merchandise_subtotal_"+reno)) + parseFloat(eval("donation_subtotal_"+reno)); var total_elem = document.getElementById("total_"+reno); total_elem.innerHTML = formatCurrency(newTotal); try {checkoutTotalChanged(reno); } catch (err) {} } function updateOnlineDonationTotal(tableName, reno){var targetTable = document.getElementById(tableName); var arrDonations = targetTable.getElementsByTagName("input"); var newSubTotal = 0.0;for(var i=0; i < arrDonations.length; i++){var elem = arrDonations[i];if (elem != null && elem.name.indexOf("linked_campaign_"+reno) != -1){newSubTotal += parseFloat(elem.value); } } var subtotal_elem = document.getElementById("donation_subtotal_"+reno); subtotal_elem.innerHTML = formatCurrency(newSubTotal); this["donation_subtotal_"+reno] = newSubTotal;updateTotal(reno); } function validateDonationAmount(field, reno_val) {if (field.value=="")field.value=0;if (isNaN(parseFloat(field.value))) {alert ("The value " + field.value + " is not valid in currency field"); field.focus(); return false;} if (parseFloat(field.value)<0) {alert ("Only positive donation amounts are acceptable."); field.focus(); return false;} field.value = formatCurrency(parseFloat(field.value)); return true;} function validateLinkedDonation(field, reno_val, enrollmentid_val) {with (field.form) {try {var str = "linked_campaign";if (field.name.indexOf(str) < 0) return true;str = field.name.substring(str.length); var idx = str.indexOf("_amount"); if (idx >= 0) {str = str.substring(0,idx); } if(!eval("validateRecurringDonation"+str+"(field.form, field)")) return false;} catch(err) { } } return true;} var PageHelpContextID = "";function attachHotKey(PageID){} function handleHotKey(evt){evt = (evt) ? evt : ((event) ? event : null); if (evt){if (evt.keyCode == 112){ //if user press F1 key RH_ShowHelp(0, '/hatfieldtownship/RoboHelp/ActiveNetHelp.htm>WithNavPane', HH_HELP_CONTEXT, PageHelpContextID); preventEventPropoagation(); } } } function preventEventPropagation(event){if (event.preventDefault) event.preventDefault(); else event.returnValue = false; // IE } var states_array=[["ca","NU"],["us","AK,AL,AR,AZ,CA,CO,CT,DC,DE,GA,FL,HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME,MI,MN,MO,MS,MT,NC,ND,NE,NH,NJ,NM,NV,NY,OH,OK,OR,PA,RI,SC,SD,TN,TX,UT,VA,VT,WA,WI,WV,WY"]];function load_states(country, statelist, statetext) {var list = null;var text = null;if (country.name == "country") {list = country.form.state;text = country.form.statetxt;} else if (country.name == "mailing_country") {list = country.form.mailingstate;text = country.form.mailingstatetxt;} else {list = statelist;text = statetext;} var old_value = list.value;var new_value = "";list.options.length = 0; //clear out the list var found = false;for (var i = 0; i < states_array.length; i++) {if (states_array[i][0].toLowerCase() == country.value.toLowerCase()) {found = true; //found the country in our array; load the states list.options[list.length] = new Option(); var states = states_array[i][1].split(","); for (var j = 0; j < states.length; j++) {list.options[list.length] = new Option(); list.options[list.length-1].text = states[j];list.options[list.length-1].value = states[j];if (states[j] == old_value) { //if the original state is still valid, we want to keep it new_value = old_value;} } break;} } if (found) {list.value = new_value;list.style.display = "";text.style.display = "none";text.value = "";} else {text.style.display = "";list.style.display = "none";list.value = "";} } function load_states_cmb(country, states_cmb_name, show_blank) {var list = eval("country.form."+states_cmb_name); if (list != null){list.options.length = 0; //clear out the list for (var i = 0; i < states_array.length; i++) {if (states_array[i][0].toLowerCase() == country.value.toLowerCase()) {if (show_blank){list.options[list.length] = new Option(); list.options[list.length-1].text = "All States";} var states = states_array[i][1].split(","); for (var j = 0; j < states.length; j++) {list.options[list.length] = new Option(); list.options[list.length-1].text = states[j];list.options[list.length-1].value = states[j];} break;} } } } function copyStateRawtoStateCmb(form){if (form.state != null && form.state.style.display == "none") {form.state.options.length = 0;form.state.options[form.state.length] = new Option(form.statetxt.value, form.statetxt.value); form.state.options[form.state.length-1].selected = true;} if (form.mailingstate != null){if (form.mailingstate.style.display == "none") {form.mailingstate.options.length = 0;form.mailingstate.options[form.mailingstate.length] = new Option(form.mailingstatetxt.value, form.mailingstatetxt.value); form.mailingstate.options[form.mailingstate.length-1].selected = true;} } } function doWaitedXmlHttpRequest(get_url, call_back_function, submit_method, message) {return sendXmlHttpRequest(get_url, call_back_function, submit_method, message, true); } function doXmlHttpRequest(get_url, call_back_function, submit_method, message) {sendXmlHttpRequest(get_url, call_back_function, submit_method, message, false); } function sendXmlHttpRequest(get_url, call_back_function, submit_method, message, is_waited) {if (submit_method == "" || submit_method == undefined) submit_method = "GET";if (message == "" || message == undefined) message = null;if(authtoken && authtoken.length>0) {get_url += (get_url.indexOf('?') < 0 ? "?" : "&") + "sdireqauth=" + authtoken;} try {if (window.XMLHttpRequest) {req = new XMLHttpRequest(); req.onreadystatechange = call_back_function;req.open(submit_method, get_url, !is_waited); if (submit_method == "POST") req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); req.send(message); return req;} else if (window.ActiveXObject) {req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) {req.onreadystatechange = call_back_function;req.open(submit_method, get_url, !is_waited); if (submit_method == "POST") req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); req.send(message); return req;} } } catch (err) { alert("Error in sendXmlHttpRequest " + (is_waited ? "for waited request" : "") + " (" + get_url + "): "+err); } return null;} function buildPOST(theFormName) {theForm = document.forms[theFormName];var qs = '' for (e=0;e= min_age_child.value || max_age_parent.value == 0))) continue;return false;} } } return true;} function publishHeight(topFrameName, parentUrl) {if (parentUrl.length == 0) return;var frameId = topFrameName;if (frameId == '') return;var actualHeight = getBodyHeight(); var currentHeight = getViewPortHeight(); if (Math.abs(actualHeight - currentHeight) > 15) {var hostUrl = parentUrl;hostUrl += "#";hostUrl += 'frameId=' + frameId;hostUrl += '&';hostUrl += 'height=' + actualHeight.toString(); window.top.location = hostUrl;} } function getFrameId() {var qs = parseQueryString(window.location.href); var frameId = qs["frameId"];var hashIndex = frameId.indexOf('#'); if (hashIndex > -1) {frameId = frameId.substring(0, hashIndex); } return frameId;} function getBodyHeight() {var height;var scrollHeight;var offsetHeight;if (document.height) {height = document.height;} else if (document.body) {if (document.body.scrollHeight) {height = scrollHeight = document.body.scrollHeight;} if (document.body.offsetHeight) {height = offsetHeight = document.body.offsetHeight;} if (scrollHeight && offsetHeight) {height = Math.max(scrollHeight, offsetHeight); } } return height;} function getBodyWidth() {var width;var scrollWidth;var offsetWidth;if (document.width) {width = document.width;} else if (document.body) {if (document.body.scrollWidth) {width = scrollWidth = document.body.scrollWidth;} if (document.body.offsetWidth) {width = offsetWidth = document.body.offsetWidth;} if (scrollWidth && offsetWidth) {width = Math.max(scrollWidth, offsetWidth); } } return width;} function getElementBodyWidth(el) {var width;if (el.contentWindow && el.contentWindow.document && el.contentWindow.document.documentElement && el.contentWindow.document.documentElement.scrollWidth) {width = el.contentWindow.document.documentElement.scrollWidth;} if (el.contentDocument && el.contentDocument.body && el.contentDocument.body.offsetWidth) {if (width) {width = Math.max(width, el.contentDocument.body.offsetWidth); } else {width = el.contentDocument.body.offsetWidth;} } if (el.Document && el.Document.body && el.Document.body.scrollWidth){if (width) {width = Math.max(width, el.Document.body.scrollWidth); } else {width = el.Document.body.scrollWidth;} } if (!width && document.width) {width = document.width;} return width;} function getViewPortHeight() {var height = 0;if (window.innerHeight) {height = window.innerHeight - 18;} else if (document.documentElement && document.documentElement.clientHeight) {height = document.documentElement.clientHeight;} else if (document.body && document.body.clientHeight) {height = document.body.clientHeight;} return height;} function getViewPortWidth() {var width = 0;if (window.innerWidth) {width = window.innerWidth - 18;} else if (document.documentElement && document.documentElement.clientWidth) {width= document.documentElement.clientWidth;} else if (document.body && document.body.clientWidth) {width= document.body.clientWidth;} return width;} function parseQueryString(url) {url = new String(url); var queryStringValues = new Object(); var querystring = url.substring((url.indexOf('?') + 1), url.length); var querystringSplit = querystring.split('&'); for (i = 0; i < querystringSplit.length; i++) {var pair = querystringSplit[i].split('='); var name = pair[0];var value = pair[1];queryStringValues[name] = value;} return queryStringValues;} function validIntegerRange (myVal, min, max, msg) {if(!isInteger(myVal.value)){alert(msg + " must be a whole number between " + min + " and " + max + " (inclusive)"); myVal.focus(); return false;} if(myVal.valuemax){alert(msg + " must be a whole number between " + min + " and " + max + " (inclusive)"); myVal.focus(); return false;} return true;} function validMask(field,field_name) {if(emptyField(field))return true;for(var i=0;i 95 || code == 45 || code == 59 || code == 61 || code == 63 || code == 94) {field.value = "";field.focus(); alert("Illegal character entered."); return false;} } return true;} function validForFileName(field){if (empty(field,"a Name"))return false;var code = "";var display_error = false;var i = 0;for(i = 0; i < field.value.length; i++){code = field.value.charCodeAt(i); if ( code == 92 ){display_error = true;break;} else if ( code == 47 ){display_error = true;break;} else if ( code == 58 ){display_error = true;break;} else if ( code == 42 ){display_error = true;break;} else if ( code == 63 ){display_error = true;break;} else if ( code == 34 ){display_error = true;break;} else if ( code == 60 ){display_error = true;break;} else if ( code == 62 ){display_error = true;break;} else if ( code == 124 ) {display_error = true;break;} } if (display_error){field.focus(); alert("Character '" + field.value.charAt(i) + "' is invalid here, please change it."); return false;} return true;} function onChangeActivityType(field) {} function calculateBalance() {} /***************************************** * * Parent & Child Season Dynamic Combo for Activities * ***************************************/ function load_child_seasons(parent_season, except_empty_option) {var list = parent_season.form.child_season_id;if (list == null || list.type != "select-one") {return;} var old_value = list.value;list.options.length = 0; //clear out the list var put_empty_option = except_empty_option;for (var i = 0; i < child_seasons_array.length; i++) {if (child_seasons_array[i][0] == parent_season.value || child_seasons_array[i][0] == -1) {if (!put_empty_option) {list.options[list.length] = new Option(); put_empty_option = true;} var child_season_names = child_seasons_array[i][1].split("@::@"); var child_season_ids = child_seasons_array[i][2].split(","); for (var j = 0; j < child_season_names.length; j++) {list.options[list.length] = new Option(); list.options[list.length-1].text = child_season_names[j];list.options[list.length-1].value = child_season_ids[j];if (child_season_ids[j] == old_value) { //if the original child season is still valid, we want to keep it list.options[list.length-1].selected=true;} } if (child_seasons_array[i][0] != -1) {break;} } } if (list.options.length <= 0) {list.options[0] = new Option(); list.options[0].text = "";list.options[0].value = 0;} } function init_child_seasons(parent_season) {var list = parent_season.form.child_season_id;if (list == null || list.type != "select-one") {return;} list.options.length = 0; //clear out the list list.options[0] = new Option(); list.options[0].text = "";list.options[0].value = 0;list.options[1] = new Option(); list.options[1].text = "None";list.options[1].value = -1;} /***************************************** * * Validate the color number * ***************************************/ function validateColorNumber(name, owner, param) {var temp = name.value;var pattern = new RegExp("[a-fA-F0-9]{6}"); var flag1 = pattern.test(temp); var flag2 = pattern.test(temp.substring(1)); if(temp!=""){if(temp.length >=6 && temp.length <= 7) {if(temp.length == 6 && temp.charAt(0) != '#' && flag1 == true) {temp = "#"+temp;if(owner != null) {self.opener.setColor(param, temp); window.close(); } else {name.value = temp;return true;} } else if(temp.length == 7 && temp.charAt(0) == '#' && flag2 == true) {if(owner != null) {self.opener.setColor(param, temp); window.close(); } else {name.value = temp;return true;} } else {alert("Invalid color value"); return false;} } else {alert("Invalid color value"); return false;} } else {alert("Please input a color"); return false;} return false;} /***************************************** * * Update age category and birthdate fields * ***************************************/ function ageCategoryAndBirthDateUpdate(field) {with (field.form) {var isstaff=typeof(birthdate)!='undefined';var isonline=typeof(dobyear)!='undefined';if (field == age_category_id) {if (isonline) {if (!emptyField(field)) {dobyear.value='';dobmonth.selectedIndex=0;dobday.selectedIndex=0;} } else if (isstaff) {if (!emptyField(field)) birthdate.value='';} return;} if (isonline) {if (!emptyField(dobyear)||!emptyField(dobmonth)||!emptyField(dobday)) age_category_id.selectedIndex=0;} else if (isstaff) {if (!emptyField(field)) age_category_id.selectedIndex=0;} } } /***************************************** * * Adjust refund total * *****************************************/ function adjustTotal(checkbox,rescind_discount,new_value,old_value,max_value, allow_retain_refund_amount, fee_id){with (checkbox.form) {var new_amount = parseFloat(new_value.value); if (isNaN(new_amount)) {alert ("The value " + new_value.value + " is not valid in currency field"); new_value.focus (); return false;} if (!new_value.disabled) {if(rescind_discount.value!=0) {if(new_amount > 0) {alert ("A rescinded discount cannot be used to increase the refund."); new_value.focus(); return false;} if (new_amount < parseFloat(max_value)) {alert ("You cannot charge back more than the original discount of $" + max_value); new_value.focus (); return false;} } else {if (new_amount<0){alert ("A refund cannot be negative."); new_value.focus (); return false;} if (new_amount > parseFloat(max_value)) {alert ("You cannot credit more than original payment of $" + max_value); new_value.focus (); return false;} } } var new_total=parseFloat(hiddenrefund.value); if (checkbox.checked) {new_total=parseFloat(hiddenrefund.value)-parseFloat(old_value.value)+new_amount;} hiddenrefund.value=formatCurrency(new_total); old_value.value=formatCurrency(new_value.value); totalrefund.value=formatCurrency(new_total); if (allow_retain_refund_amount != null && allow_retain_refund_amount.toString().length > 0 && retain_refund_amount.checked) {total_retain_refund_amount.value = formatCurrency(new_total); if (document.getElementById("refund_charge_amount") != null) {total_retain_refund_amount.value = formatCurrency(total_retain_refund_amount.value - document.getElementById("refund_charge_amount").value); } document.getElementById("retain_refund_amount_td_"+fee_id).innerHTML = document.getElementById("refund_"+fee_id).value;} return true;} } /* * onclick event handler for link to return to a flex app */ function gotoApp(app_name, app_key, use_use_tabbed_staff_ui) {try{var main_frame = findFrame('sdi_main'); main_frame.showFlexAppIFrame(app_name, app_key); return true;}catch(err){} return false;} /* * get mark_as_not_attended flag of choosed attendance code */ function getMarkasNotAttended(attendance_code) {if (typeof(attendance_code_array)=='undefined' || typeof(attendance_code)=='undefined') return false;for (var i = 0; i < attendance_code_array.length; i++) {if (attendance_code_array[i][0] == attendance_code.value) {if (attendance_code_array[i][1] == 'checked') return true;return false;} } return false;} /* * Breadcrumb support */ function breadcrumb(type,itemname,linkhref,linktarget,linkonclick) {this.type = type;this.name = itemname;this.linkhref = linkhref;this.linktarget = linktarget;this.linkonclick = linkonclick;} function breadcrumbToString(breadcrumb) {return ("[Type: " + breadcrumb.type + ", Name: " + breadcrumb.name + ", href: "+breadcrumb.linkhref + ", target:"+breadcrumb.linktarget + ", onclick: " + breadcrumb.linkonclick + "]"); } function setTopLevelBreadcrumbs(stack){updateBreadcrumbDisplay(stack); } function setFunctionPageBreadcrumb(function_menu_group, function_title, url){if (!url || url.length==0) url = location.href;if (function_title.length==0) return;var stack = new Array(); stack[0] = new breadcrumb("currentpage", null, null, null, null); // clear the currentpage element stack[1] = new breadcrumb("fnpage_"+function_menu_group, function_title, url, self.name, null); updateBreadcrumbDisplay(stack); } function setOnlinePageBreadcrumb(type, title, url){if (!url || url.length==0) url = location.href;if (title.length==0) return;var stack = new Array(); stack[0] = new breadcrumb(type, title, url, self.name, null); updateBreadcrumbDisplay(stack); } function addStaticBreadcrumb(type,name) {if (name.length==0) return;updateBreadcrumbDisplay(new breadcrumb(type, name, null, null, null)); } function setCurrentPageBreadcrumb(page_title){updateBreadcrumbDisplay(new breadcrumb("currentpage", page_title, location.href, self.name, null)); } function updateBreadcrumbDisplay(breadcrumbs) {try{var breadcrumbFrame = self && self.name && self.name=='sdi_main_nav' ? self : findFrame('sdi_main_nav'); if (breadcrumbFrame && breadcrumbFrame.updateBreadcrumbs) {breadcrumbFrame.updateBreadcrumbs(breadcrumbs, self.name); return;} breadcrumbFrame = self && self.name && self.name=='admin_banner' ? self : findFrame('admin_banner'); if (breadcrumbFrame && breadcrumbFrame.updateBreadcrumbs) {breadcrumbFrame.updateBreadcrumbs(breadcrumbs); return;} breadcrumbFrame = self && self.name && self.name=='sdi_banner' ? self : findFrame('sdi_banner'); if (breadcrumbFrame && breadcrumbFrame.updateBreadcrumbs){breadcrumbFrame.updateBreadcrumbs(breadcrumbs); return;} }catch(err){} } /* * Check if there is dirty form data in target frame. If there is dirty form data * then ask the user if they want to continue. */ function userCancelForDirtyForms(oFrame,menu_name){if (!dirtyFormsInFrame(oFrame)) return false;var form_title = "current";if (oFrame.document && oFrame.document.title) {form_title = oFrame.document.title;} else if (oFrame.contentDocument && oFrame.contentDocument.title) {form_title = oFrame.contentDocument.title;} var confirm_msg = "You have changed one or more fields in the " + form_title + " form. If you continue the form data will NOT be processed or saved. Are you sure you wish to continue";if(menu_name && menu_name.length>0) {confirm_msg += " to '" + menu_name + "'";} confirm_msg += "?";var answer = confirm (confirm_msg); if (answer) {return false;} else {return true;} } /* * Check if requested frame contains any dirty forms */ function dirtyFormsInFrame(oFrame){try {var child_iframes;try {child_iframes = oFrame.window ? oFrame.window.frames : null;if (!child_iframes || child_iframes.length == 0) {child_iframes = oFrame.contentWindow.document.getElementsByTagName("iframe"); } } catch (ierr) {} for (var index = 0; index < child_iframes.length; index++) {var current_iframe = child_iframes[index];var el;el = null;if (oFrame.document) el = oFrame.document.getElementById('chk' + current_iframe.name); if (el==null && oFrame.contentWindow && oFrame.contentWindow.document) {el = oFrame.contentWindow.document.getElementById('chk' + current_iframe.name); } if (el != null) {var original_value = el.value;var current_doc = current_iframe.contentWindow && current_iframe.contentWindow.document ? current_iframe.contentWindow.document : current_iframe.document;var current_value = current_doc.getElementsByTagName('body')[0].innerHTML;var req = doWaitedXmlHttpRequest('checkHTMLfield.sdi', null, "POST", 'get_value=true&check_value1=' + encodeURIComponent(current_value) + '&check_value2=' + encodeURIComponent(original_value)); if (req.responseText == "false") {return true;} } } for (var i=0; i < oFrame.document.forms.length; i++) {if (isFormDirty(oFrame.document.forms[i])) {return true;} } } catch (err) {} try {for (var j=0; j < oFrame.contentDocument.forms.length; j++) {if (isFormDirty(oFrame.contentDocument.forms[j])) {return true;} } } catch (err) {} return false;} /* * Check if form is dirty */ function isFormDirty(oForm){if (oForm.noNeedCheckForm&&oForm.noNeedCheckForm.value.length>0) return false;if(oForm.formIsDirtyFlag&&oForm.formIsDirtyFlag.value.length>0) return true;var el, opt, hasDefault, i = 0, j;while ((el = oForm.elements[i++])) {if (el.disabled) continue;switch (el.type) {case 'text' : case 'textarea' : case 'password' : if (el.value != el.defaultValue) {return true;} break;case 'checkbox' : case 'radio' : if (el.checked != el.defaultChecked) {return true;} break;case 'select-one' : case 'select-multiple' : j = 0, hasDefault = false;while ((opt = el.options[j++])) {if (opt.defaultSelected) hasDefault = true;} j = hasDefault ? 0 : 1;while ((opt = el.options[j++])) {if (opt.selected != opt.defaultSelected) {return true;} } break;} } return false;} /* * Clear form "dirty" status */ function resetFormDirty(oForm){var el, opt, i = 0;while ((el = oForm.elements[i++])) {if (el.disabled) continue;switch (el.type) {case 'text' : case 'textarea' : el.defaultValue = el.value;break;case 'checkbox' : case 'radio' : el.defaultChecked = el.checked;break;case 'select-one' : case 'select-multiple' : var j = 0;while ((opt = el.options[j++])) {opt.defaultSelected = opt.selected;} break;} } } var stIsIE = /*@cc_on!@*/false;sorttable = {init: function() {if (arguments.callee.done) return;arguments.callee.done = true;if (!document.createElement || !document.getElementsByTagName) return;sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;forEach(document.getElementsByTagName('table'), function(table) {if (table.className.search(/\btableList\b/) != -1) {sorttable.makeSortable(table); } }); }, makeSortable: function(table) {if (table.getElementsByTagName('thead').length == 0) {the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];if (table.tHead.rows.length != 1) return; // can't cope with two header rows sortbottomrows = [];for (var i=0; i6' : ' ▾';this.appendChild(sortrevind); return;} if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {sorttable.reverse(this.sorttable_tbody); this.className = this.className.replace('sorttable_sorted_reverse', 'sorttable_sorted'); if (document.getElementById('sorttable_sortrevind') != null) this.removeChild(document.getElementById('sorttable_sortrevind')); sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind";sortfwdind.innerHTML = stIsIE ? ' 5' : ' ▴';this.appendChild(sortfwdind); return;} theadrow = this.parentNode;forEach(theadrow.childNodes, function(cell) {if (cell.nodeType == 1) { // an element cell.className = cell.className.replace('sorttable_sorted_reverse',''); cell.className = cell.className.replace('sorttable_sorted',''); } }); sortfwdind = document.getElementById('sorttable_sortfwdind'); if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } sortrevind = document.getElementById('sorttable_sortrevind'); if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } this.className += ' sorttable_sorted';sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind";sortfwdind.innerHTML = stIsIE ? ' 5' : ' ▴';this.appendChild(sortfwdind); row_array = [];col = this.sorttable_columnindex;rows = this.sorttable_tbody.rows;for (var j=0; j 1) {row_array[row_array.length] = new Array(rows[j].cells[0].rowSpan+1); row_array[row_array.length-1][0] = sorttable.getInnerText(rows[j].cells[col]); for (var x=1; x<=rows[j].cells[0].rowSpan; x++) {row_array[row_array.length-1][x] = rows[j+x-1];} j+=rows[j].cells[0].rowSpan-1;} else {row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];} } /* If you want a stable sort, uncomment the following line */ /* and comment out this one */ row_array.sort(this.sorttable_sortfunction); tb = this.sorttable_tbody;var count = 0;for (j=0; j 4 && !isNaN(Date.parse(new Date("January 1, 1999 " + text.toString())))) {active_time_count++;continue;} possdate = text.match(sorttable.DATE_RE) if (possdate) {first = parseInt(possdate[1]); second = parseInt(possdate[2]); if (first > 12) {date_count1++;} else if (second > 12) {date_count2++;} else {date_count1++;} } } } if (count == num_count) return sorttable.sort_numeric;if (count == date_count1) return sorttable.sort_ddmm;if (count == date_count2) return sorttable.sort_mmdd;if (count == active_date_count) return sorttable.sort_activenet_date;if (count == active_time_count) return sorttable.sort_activenet_time;return sorttable.sort_alpha;}, getInnerText: function(node) {if (!node) return '';hasInputs = (typeof node.getElementsByTagName == 'function') && node.getElementsByTagName('input') && node.getElementsByTagName('input').length;hasInputs = hasInputs || (node.getElementsByTagName('select') && node.getElementsByTagName('select').length); hasInputs = hasInputs || (node.getElementsByTagName('option') && node.getElementsByTagName('option').length); if (node.getAttribute("sorttable_customkey") != null) {return node.getAttribute("sorttable_customkey"); } else if (typeof node.textContent != 'undefined' && !hasInputs) {return node.textContent.replace(/^\s+|\s+$/g, '').toLowerCase(); } else if (typeof node.innerText != 'undefined' && !hasInputs) {return node.innerText.replace(/^\s+|\s+$/g, '').toLowerCase(); } else if (typeof node.text != 'undefined' && !hasInputs) {return node.text.replace(/^\s+|\s+$/g, '').toLowerCase(); } else {switch (node.nodeType) {case 3: if (node.nodeName.toLowerCase() == 'input') {return node.value.replace(/^\s+|\s+$/g, '').toLowerCase(); } case 4: return node.nodeValue.replace(/^\s+|\s+$/g, '').toLowerCase(); break;case 1: case 11: var innerText = '';if (node.nodeName.toLowerCase() == 'select') {innerText += sorttable.getInnerText(node.options[node.selectedIndex]).toLowerCase(); } else {for (var i = 0; i < node.childNodes.length; i++) {innerText += sorttable.getInnerText(node.childNodes[i]).toLowerCase(); } } return innerText.replace(/^\s+|\s+$/g, '').toLowerCase(); break;default: return '';} } }, reverse: function(tbody) {newrows = [];for (var i=0; i 1) {rowspan_first_rows[rowspan_first_rows.length]=i;} } if (rowspan_first_rows.length > 0) {var count = 0;for (i=rowspan_first_rows.length-1; i>=0; i--) {var end = i < rowspan_first_rows.length-1 ? rowspan_first_rows[i+1] : newrows.length;for (var j=rowspan_first_rows[i]; j=0; i--) {var attribute = newrows[i].getAttribute("class"); if (newrows[i].style.display == "" && (attribute == "altRowOdd" || attribute == "altRowEven")) {newrows[i].setAttribute("class", count%2 == 0 ? "altRowOdd" : "altRowEven"); count++;} tbody.appendChild(newrows[i]); } } delete newrows;}, /* sort functions each sort function takes two parameters, a and b you are comparing a[0] and b[0] */ sort_numeric: function(a,b) {aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); if (isNaN(aa)) aa = 0;bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); if (isNaN(bb)) bb = 0;return aa-bb;}, sort_alpha: function(a,b) {if (a[0] == "--" || a[0] == "-") {a[0] = "";} if (b[0] == "--" || b[0] == "-") {b[0] = "";} if (a[0]==b[0]) return 0;if (a[0] 0 ) {var q = list[i]; list[i] = list[i+1]; list[i+1] = q;swap = true;} } // for t--;if (!swap) break;for(i = t; i > b; --i) {if ( comp_func(list[i], list[i-1]) < 0 ) {q = list[i]; list[i] = list[i-1]; list[i-1] = q;swap = true;} } // for b++;} // while(swap) } } /* ****************************************************************** Supporting functions: bundled here to avoid depending on a library ****************************************************************** */ function dean_addEvent(element, type, handler) {if (element.addEventListener) {element.addEventListener(type, handler, false); } else {if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;if (!element.events) element.events = {};var handlers = element.events[type];if (!handlers) {handlers = element.events[type] = {};if (element["on" + type]) {handlers[0] = element["on" + type];} } handlers[handler.$$guid] = handler;element["on" + type] = handleEvent;} };dean_addEvent.guid = 1;function removeEvent(element, type, handler) {if (element.removeEventListener) {element.removeEventListener(type, handler, false); } else {if (element.events && element.events[type]) {delete element.events[type][handler.$$guid];} } };function handleEvent(event) {var returnValue = true;event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event); var handlers = this.events[event.type];for (var i in handlers) {this.$$handleEvent = handlers[i];if (this.$$handleEvent(event) === false) {returnValue = false;} } return returnValue;};function fixEvent(event) {event.preventDefault = fixEvent.preventDefault;event.stopPropagation = fixEvent.stopPropagation;return event;};fixEvent.preventDefault = function() {this.returnValue = false;};fixEvent.stopPropagation = function() {this.cancelBubble = true;} /* forEach, version 1.0 Copyright 2006, Dean Edwards License: http://www.opensource.org/licenses/mit-license.php */ if (!Array.forEach) { // mozilla already supports this Array.forEach = function(array, block, context) {for (var i = 0; i < array.length; i++) {block.call(context, array[i], i, array); } };} Function.prototype.forEach = function(object, block, context) {for (var key in object) {if (typeof this.prototype[key] == "undefined") {block.call(context, object[key], key, object); } } };String.forEach = function(string, block, context) {Array.forEach(string.split(""), function(chr, index) {block.call(context, chr, index, string); }); };var forEach = function(object, block, context) {if (object) {var resolve = Object; // default if (object instanceof Function) {resolve = Function;} else if (object.forEach instanceof Function) {object.forEach(block, context); return;} else if (typeof object == "string") {resolve = String;} else if (typeof object.length == "number") {resolve = Array;} resolve.forEach(object, block, context); } };function addRemoveAllSelected(table_id, add_remove) {var inputs = document.getElementById(table_id).getElementsByTagName("input"); for (var j = 0; j < inputs.length; j++) {var element = inputs[j];if(element.type!="checkbox")continue;if(!element.checked)continue;var s = element.name;if(s.substring(s.indexOf("_"),s.indexOf("_")+8)!="_select_")continue;var cust_id=s.substring(0,s.indexOf("_")); s=s.substring(s.indexOf("_")+1); var cust_name=s.substring(s.indexOf("_")+1); if(add_remove)addItemToParent(cust_id,cust_name); else removeItemToParent(cust_id,cust_name); } } /* * Set checkbox selection checked/cleared state of all checkbox fields in requested * table to match that of the passed checkbox field. The checkbox fields name * is expected to start with the passed checkbox_name_prefix OR with _select_ . * Any checkbox in the requested table that does not match that naming format will * not be selected/deselected. */ function selectAndDeSelectAll(table_id, field, checkbox_name_prefix) {var inputs = document.getElementById(table_id).getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) {var element = inputs[i];if (element.type != "checkbox") continue;if (element.disabled == true) continue;var s = element.name;if(checkbox_name_prefix && checkbox_name_prefix.length > 0) {if (s.indexOf(checkbox_name_prefix)!=0) continue;} else {if (s.substring(s.indexOf("_"),s.indexOf("_")+8) != "_select_") continue;} element.checked = field.checked;} } function selectAndDeSelectAllByValue(table_id, value, checkbox_name_prefix) {var inputs = document.getElementById(table_id).getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) {var element = inputs[i];if (element.type != "checkbox") continue;if (element.disabled == true) continue;var s = element.name;if(checkbox_name_prefix && checkbox_name_prefix.length > 0) {if (s.indexOf(checkbox_name_prefix)!=0) continue;} else {if (s != "select_all" && s.substring(s.indexOf("_"),s.indexOf("_")+8) != "_select_") continue;} element.checked = value;} } function selectAllCheckbox(table_id, value) {var inputs = document.getElementById(table_id).getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) {var element = inputs[i];if (element.type != "checkbox") continue;if (element.disabled == true) continue;element.checked = value;} } function onSiteChange(site, location, online){if (!document.getElementById(location)) {if (document.listselect) startSubmit('listselect'); } else {$.get('getCenters.sdi;jsessionid=wZC1uYxnqpmbk36VMZQsR5Yaj-o', {site_id: site.value, online: online}, function(data){var sel = $(document.getElementById(location)); var all_loc_opt = sel.find('option[value=0]'); var other_spec_opts = sel.find('option[value*=-]'); sel.empty(); sel.append(all_loc_opt); sel.append(data); sel.append(other_spec_opts); sel.get(0).selectedIndex = 0;sel.change(); }); } } /****************************************************************************************************** * This function used for list page to control show Specific Value Items or NOT (Ex: Show Retired?). * The default value is "YES", you also can specific the value as need. * NOTE: master field check box and the list items must be in a same table ******************************************************************************************************/ function showSpecificValueItemsOrNot(masterField, startRowIndex, columnIndex, bottomRowNumber, value) {if (value == null || value == undefined) {value = "YES";} else {value = value.toUpperCase(); } var table = masterField.parentNode;while(table != null && table != undefined && table.tagName != "TABLE"){table = table.parentNode;} if (table == null || table == undefined) return;var show_retired = masterField.checked;for (var i=startRowIndex; i 0) {try {var el = parent.document.getElementById(self.name); if (el) {el.style.overflow = "auto";el.scrolling = "auto";} if (is_app_load) {resizeIFrameForApp(''); } else {el.style.height='';} if (el && el.className=='content_iframe') {scrollHome('sdi_main'); } } catch (err){} } } /* * Handler for close event on a receipt tab */ function handleReceiptTabCloseEvent(rno, is_pending_receipt_empty) {var answer = is_pending_receipt_empty ? true : confirm ("If you continue, receipt #" + rno + " will be cancelled. Do you want to continue and cancel this receipt?"); if (answer) {doXmlHttpRequest("ReceiptVoid.sdi;jsessionid=wZC1uYxnqpmbk36VMZQsR5Yaj-o?rno="+rno, null); } else {return false; // User cancelled } return true; // Ok to proceed } /* * Add a hidden field to a form */ function addHiddenField(form, name, id, value, check_duplicate) {if (check_duplicate) {for (var i=0; i 0) {curr_frame_name = curr_frame_name + '.frames[' + i + ']';y[level] = i + 1;level++;y[level] = 0;var fr = findChildFrame(curr_frame_name, frame_name); // recursive call to check child frames for curr frame if (fr) {return fr;} break;} } curr_frame_name = level == 0 ? '' : curr_frame_name.substring(0,curr_frame_name.lastIndexOf('.')); level--;} return null; // didn't find frame' } function clearInputFieldValue(names) {var field_names = names.split(","); for (var i=0; i