/** * Copyright 2024. Demandforce, Inc. The copyright for all material * provided on this site ("Site") is held by Demandforce, Inc. Except as * stated herein, none of the material may be copied, reproduced, * distributed, republished, downloaded, displayed, posted or transmitted * in any form or by any means, including, but not limited to, * electronic, mechanical, photocopying, recording, or otherwise, without * the prior written permission of Demandforce, Inc. and all materials * are provided as-is without expressed or implied warranty. Permission * is granted to use, display, copy, distribute and download the * materials on this Site for provided you do not modify the materials * and that you retain all copyright and other proprietary notices * contained in the materials. You also may not, without Demandforce, * Inc. permission, "mirror" any material contained on this Site on any * other server. This permission terminates automatically if you breach * any of these terms or conditions. Upon termination, you will * immediately destroy any downloaded and printed materials. Any * unauthorized use of any material contained on this Site may violate * copyright laws, trademark laws, the laws of privacy and publicity, and * communications regulations and statutes. */ //=0) { var year_arr2 = v_year1.split('-'); var yr1 = year_arr2[0]; var yr2 = year_arr2[1]; var y1 = parseInt(yr1,10) + 1900; var y2 = parseInt(yr2,10) + 1900; if(y1 < 1970) y1 += 100; if(y2 < 1970) y2 += 100; if((y1 <= year && year<=y2)) { find = true; break; } }else{ var v_year = parseInt(v_year1,10) + 1900; if(v_year < 1970) v_year += 100; if(v_year == year) { find = true; break; } } } return find; } /* Common functions */ function d3cp_validateZipCode(inputZip) { if(inputZip.trim() == '') { return false; } return true; } function d3cp_validateEmail(emailAddress) { var regExpObj = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})$/; if(regExpObj.exec(emailAddress) == null) { return false; //Invalid } else { return true; //Valid } } function d3cp_validatePhone(phoneNum) { //US phone var regUSphone = /^((\+?1[-. ]?)?\(?\d{3}\)?)?[-. ]?\d{3}[-. ]?\d{4}$/; if(regUSphone.exec(phoneNum) != null) { return true; // Valid } else { //UK phone var regUK1 = /^((\+?44[-. ]?)?\(?\d{3}\)?)?[-. ]?\d{4}[-. ]?\d{4}$/; var regUK2 = /^((\+?44[-. ]?)?\(?\d{4}\)?)?[-. ]?\d{3}[-. ]?\d{4}$/; var regUK3 = /^((\+?44[-. ]?)?\(?\d{5}\)?)?[-. ]?\d{5,6}$/; var regUK4 = /^((\+?44[-. ]?)?\(?\d{6}\)?)?[-. ]?\d{4,5}$/; if(regUK1.exec(phoneNum) != null) { return true; } else if(regUK2.exec(phoneNum) != null) { return true; } else if(regUK3.exec(phoneNum) != null) { return true; } else if(regUK4.exec(phoneNum) != null) { return true; } return false; // Invalid } } //dateStr should be format as 'mm/dd/yyyy' function d3cp_validateDate(dateStr) { dateStr = dateStr.trim(); var regExpObj = /^((0?[1-9])|(1[0|1|2]))\/((0?[1-9])|([1|2][0-9])|(3[0|1]))\/(2\d{3})$/; if(regExpObj.exec(dateStr) == null) { return false; // Invalid } if(isNaN(Date.parse(dateStr))) { return false; // Invalid } var trueDate = new Date(dateStr); var dateSplit = dateStr.split("/"); var inputMonth = parseInt(dateSplit[0], 10) - 1; var inputDate = parseInt(dateSplit[1], 10); var inputYear = parseInt(dateSplit[2], 10); if(trueDate.getMonth() != inputMonth || trueDate.getDate() != inputDate || trueDate.getFullYear() != inputYear) { return false; // Invalid, since the input date is not exist } return true; } // timeStr should be format as 'hh:mm am' function d3cp_validateTime(timeStr) { var regExpObj = /^(0?[0-9]|1[0-9]|2[0-4]):(0?[0-9]|[0-5][0-9])(\s(am|pm|AM|PM))?$/; if(regExpObj.exec(timeStr) == null) { return false; // Invalid } else { return true; // Valid } } // dateStr should be format as 'mm/dd/yyyy', and timeStr should be format as 'hh:mm am' function d3cp_validateDateTime(dateStr, timeStr) { var fDateTime = ''; dateStr = dateStr.trim(); timeStr = timeStr.trim(); if(dateStr != '' && !validateDate(dateStr)) { return false; } if(timeStr != '' && !validateTime(timeStr)) { return false; } if(dateStr != '' && timeStr != '') fDateTime = dateStr + " " + timeStr; if(fDateTime != '' && isNaN(Date.parse(fDateTime)) ) { return false; } return true; } function d3cp_validateDateSimple(date, month) { if(month <= 0 || month > 12) { return false; }else if(date <= 0 || date > 31) { return false; } else if( (month == 4 || month == 6 || month == 9 || month == 11) && date > 30) { return false; } else if(month == 2 && date > 29) { return false; } return true; } function d3cp_countWords(text) { var tmp = text.replace(/\r\n|\n\r|\n/g, " "); var tmpArr = tmp.split(" "); var arr = new Array(); for(i = 0; i < tmpArr.length; i++) { if(tmpArr[i] > '') { arr.push(tmpArr[i]); } } return arr.length; } /* END Common functions */ String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,"gm"),s2); } String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } //IE 7.0 and previous if ( !window.Element ) { Element = function(){} var __createElement = document.createElement; document.createElement = function(tagName) { var element = __createElement(tagName); for(var key in Element.prototype) element[key] = Element.prototype[key]; return element; } } function d3cpAppendChildTextNode(obj, txt_str){ if(obj.appendChild) { if(txt_str && txt_str.trim() != '') { var tmp = txt_str; tmp = tmp.replace(/\r\n|\n\r|\n/g, "[br]"); tmp = tmp.replace('
', '[br]'); tmp = tmp.replace('
', '[br]'); tmp = tmp.replace('
', '[br]'); tmp = tmp.replace('
', '[br]'); var txts = tmp.split('[br]'); for(var i = 0; i < txts.length; i++) { if(i != 0) obj.appendChild(document.createElement("br")); obj.appendChild(document.createTextNode(txts[i])); } } } } /* Compat IE and FireFox */ //IE 10 and previous version -- createElement document.d3cpCreateElementByName = function(tag, name, type, checked) { var el; var ie_version = /MSIE/;//IE var ie_version_7 = /MSIE 7/; //IE7 var trident_7 = new RegExp("Trident/3.0"); //IE7 Compatibility View var ie_version_8 = /MSIE 8/; //IE8 var trident_8 = new RegExp("Trident/4.0"); //IE8 Compatibility View var ie_version_9 = /MSIE 9/; //IE9 var trident_9 = new RegExp("Trident/5.0"); //IE9 Compatibility View var ie_version_10 = /MSIE 10/; //IE10 var trident_10 = new RegExp("Trident/6.0"); //IE10 Compatibility View if (ie_version.exec(navigator.appVersion) != null && ie_version_7.exec(navigator.appVersion) == null && trident_7.exec(navigator.appVersion) == null && ie_version_8.exec(navigator.appVersion) == null && trident_8.exec(navigator.appVersion) == null && ie_version_9.exec(navigator.appVersion) == null && trident_9.exec(navigator.appVersion) == null && ie_version_10.exec(navigator.appVersion) == null && trident_10.exec(navigator.appVersion) == null) //IE 10 and before { var str = "<" + tag + " name=\"" + name + "\" "; if(type) { str += " type = \"" + type + "\" "; } if(checked) { str += " checked = \"" + checked + "\" "; } str += " />"; el = document.createElement(str); }else{ try{ var str = "<" + tag + " name=\"" + name + "\" />"; el = document.createElement(str); if(type) { el.setAttribute("type",type); } if(checked) { el.setAttribute("checked",checked); } }catch(error) { el = document.createElement(tag); el.setAttribute("name", name); if(type) { el.setAttribute("type",type); } if(checked) { el.setAttribute("checked",checked); } } } return el; } function d3cp_formatIntToTimeDisplay(timeKey) { var timeShow = ""; if(timeKey == -1) timeShow = "CLOSED"; else { var m = timeKey%60; var h = (timeKey-m)/60; var a = " AM"; /*begin modified by Rebecca for BP-6323*/ if (h == 0 || h == 24){ h = 12; a = " AM"; }else if (h == 12){ a = " PM"; }else if (h > 12 && h < 24) { h = h - 12; a = " PM"; } /*end modified by Rebecca for BP-6323*/ if(m <= 9) timeShow = h + ":" + "0"+m; else timeShow = h + ":" + m; timeShow = timeShow + a; } return timeShow; } function d3cp_formatIntToTimeValue(timeKey) { var timeValue = ""; if(timeKey == -1) timeValue = "CLOSED"; else { var m = timeKey%60; var h = (timeKey-m)/60; if(m <= 9) timeValue = h + ":" + "0"+m; else timeValue = h + ":" + m; } return timeValue; } /* END Compat IE and FireFox */ /* * ------ * END D3CP functions and parameters - http://www.demandforce.com * ------ */ //]]>