// last selected Tab var old_tab = null; // styles for events var styles = { 'over' : ['#ccc', 'pointer','rgb(0,0,0)'], 'out' : ['#ECE9D5', 'auto','rgb(0,0,0)'], 'click': ['rgb(255,255,255)', 'default','#222'] }; // handler for Tabs function selTab( tab, type_select ) { // method ignore for select Tab if (tab.className != 'sel-tabs') { with (tab.style) { if (type_select == 1) // onMouseOver { // set background backgroundColor = styles['over'][0]; // set cursor type cursor = styles['over'][1]; // set color color = styles['over'][2]; } else if (type_select == 2) // onClick { if (old_tab) { // unset of class name old_tab.className = ''; // reconstruction of default style selTab( old_tab, 0 ); } // set class name (for the selected Tab) tab.className = 'sel-tabs'; // set background backgroundColor = styles['click'][0]; // set cursor type cursor = styles['click'][1]; // set color color = styles['click'][2]; // save select tab old_tab = tab; } else // onMouseOut { // set background backgroundColor = styles['out'][0]; // set cursor type cursor = styles['out'][1]; // set color color = styles['out'][2]; } } } } // Workbook Parameter Validation // http://www.tneoh.zoneit.com/javascript/js_func.html function validateParms(parmTypes,checkMulti) { var retVal=true; if ( parmTypes != "" && parmTypes != null ) { var parmArr = parmTypes.split('~@~'); for ( i=0;i"\'%&]/; if ( reUser.test(s) ) { return false; } return true; } function isEmail(argvalue) { if (argvalue.indexOf(" ") != -1) return false; else if (argvalue.indexOf("@") == -1) return false; else if (argvalue.indexOf("@") == 0) return false; else if (argvalue.indexOf("@") == (argvalue.length-1)) return false; var arrayString = argvalue.split("@"); if (arrayString[1].indexOf(".") == -1) return false; else if (arrayString[1].indexOf(".") == 0) return false; else if (arrayString[1].charAt(arrayString[1].length-1) == ".") { return false; } return true; } function isURL(argvalue) { if (argvalue.indexOf(" ") != -1) return false; else if ( argvalue.indexOf("http://") == -1 && argvalue.indexOf("https://") == -1 ) return false; else if (argvalue == "http://" || argvalue == "https://") return false; else if ( argvalue.indexOf("http://") > 0 || argvalue.indexOf("https://") > 0 ) return false; argvalue = argvalue.substring(7, argvalue.length); if (argvalue.indexOf(".") == -1) return false; else if (argvalue.indexOf(".") == 0) return false; else if (argvalue.charAt(argvalue.length - 1) == ".") return false; if (argvalue.indexOf("/") != -1) { argvalue = argvalue.substring(0, argvalue.indexOf("/")); if (argvalue.charAt(argvalue.length - 1) == ".") return false; } if (argvalue.indexOf(":") != -1) { if (argvalue.indexOf(":") == (argvalue.length - 1)) return false; else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".") return false; argvalue = argvalue.substring(0, argvalue.indexOf(":")); if (argvalue.charAt(argvalue.length - 1) == ".") return false; } return true; } function isDate(s) { var MonthDays = Array(); MonthDays[0] = 31; MonthDays[1] = 0; MonthDays[2] = 31; MonthDays[3] = 30; MonthDays[4] = 31; MonthDays[5] = 30; MonthDays[6] = 31; MonthDays[7] = 31; MonthDays[8] = 30; MonthDays[9] = 31; MonthDays[10] = 30; MonthDays[11] = 31; var daysInMonth; s=trim(s); var reDate = /^(\d{4})\-(\d{2})\-(\d{2})$/; if ( reDate.test( s ) ) { var aData = s.split('-'); var yearSelected = parseInt(aData[0], 10); var monthSelected = parseInt(aData[1], 10); var daySelected = parseInt(aData[2], 10); if (isNaN(daySelected) || isNaN(monthSelected) || isNaN(yearSelected)) return false; if (monthSelected == 2) daysInMonth = (((yearSelected % 4 == 0) && ((!(yearSelected % 100 == 0)) || (yearSelected % 400 == 0))) ? 29 : 28 ); else daysInMonth = MonthDays[monthSelected - 1]; if (daySelected < 1 || daySelected > daysInMonth) return false; if (monthSelected < 1 || monthSelected > 12) return false; if (yearSelected < 1) return false; return true; } else { return false; } } function isEmpty(s) { return ((s == null) || (s.length == 0)) } function isDigit (c) { return ((c >= "0") && (c <= "9")) } function trim(str, chars) { return ltrim(rtrim(str, chars), chars); } function ltrim(str, chars) { chars = chars || "\\s"; return str.replace(new RegExp("^[" + chars + "]+", "g"), ""); } function rtrim(str, chars) { chars = chars || "\\s"; return str.replace(new RegExp("[" + chars + "]+$", "g"), ""); } function urlencode(str) { return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40'); }