| /** |
| #***************************************************************************** |
| # |
| # app.js |
| # |
| # Author: Denis Roy |
| # |
| # Description: Application-wide JavaScript functions |
| # |
| # HISTORY: |
| # |
| #**************************************************************************** |
| */ |
| popup_size_x = 600; |
| popup_size_y = 450; |
| |
| function fnSetOrderBy(_orderby) { |
| if(document.form1.orderby.value == _orderby) { |
| if(document.form1.orderbymode.value == " ASC") { |
| document.form1.orderbymode.value = " DESC"; |
| } |
| else { |
| document.form1.orderbymode.value = " ASC"; |
| } |
| } |
| else { |
| document.form1.orderbymode.value = " ASC"; |
| } |
| |
| document.form1.orderby.value = _orderby; |
| |
| document.form1.state.value = ""; |
| document.form1.submit(); |
| } |
| |
| function fnSetSortArrow() { |
| objImage = document.getElementById(document.form1.orderby.value); |
| |
| if(typeof(objImage) != "undefined") { |
| if(document.form1.orderbymode.value == " ASC") { |
| objImage.src = "../images/ico_sort_down.gif"; |
| } |
| else { |
| objImage.src = "../images/ico_sort_up.gif"; |
| } |
| } |
| } |
| |
| |
| |
| function isPostalCode(_val) |
| { |
| if(_val == "") |
| { |
| return true; |
| } |
| else |
| { |
| regExp = regExp=/^[A-Z]\d[A-Z]\s\d[A-Z]\d$/; |
| return regExp.test(_val); |
| } |
| } |
| |
| |
| function isNum(_val) |
| { |
| if (_val == "") |
| { |
| return false |
| } |
| |
| return !(isNaN(_val)); |
| } |
| |
| function isFloat(_val) |
| { |
| if (_val == "") |
| { |
| return false |
| } |
| |
| regExpPositive = /^(\d{1,}(\.\d{1,}|)|\.\d{1,})$/; |
| regExpNegative = /^-(\d{1,}(\.\d{1,}|)|\.\d{1,})$/; |
| |
| return (regExpPositive.test(_val) | regExpNegative.test(_val)); |
| } |
| |
| |
| |
| function isEmpty(_val) |
| { |
| return _val == ""; |
| } |
| |
| function isDate(_val) |
| { |
| // format: aaaa-mm-jj | aaaa-m-j |
| regExp = /^\d{4}-(0[1-9]|[1-9]|1[012])-(3[01]|[1-9]|[012]\d)$/; |
| |
| return regExp.test(_val); |
| } |
| |
| function isEmail(_val) |
| { |
| // format: b@b.ca |
| // Intensif sur CPU client-side |
| if(_val.length < 25) |
| { |
| regExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/; |
| } |
| else |
| { |
| regExp = /@/; |
| } |
| return regExp.test(_val); |
| } |
| |
| function isDateAfter ( ddd , ddf ) |
| { |
| //Valide si la date de fin est sup�rieur ou �gale � la date de debut |
| if ( ddd != "" && ddf != "" ) |
| { |
| var annee_ddd = ddd.substring ( 0 , 4 ) ; |
| var mois_ddd = ddd.substring ( 5 , 7 ) ; |
| var jours_ddd = ddd.substring ( 8 , 10 ) ; |
| |
| var annee_ddf = ddf.substring ( 0 , 4 ) ; |
| var mois_ddf = ddf.substring ( 5 , 7 ) ; |
| var jours_ddf = ddf.substring ( 8 , 10 ) ; |
| |
| var date_ddd = new Date(annee_ddd , mois_ddd , jours_ddd );//yy,mm,dd |
| var date_ddf = new Date(annee_ddf , mois_ddf , jours_ddf );//yy,mm,dd |
| |
| if (date_ddf.getTime() >= date_ddd.getTime()) |
| { // la date de fin est sup�rieure ou �gale � la date de d�but |
| return true ; |
| } |
| else |
| { // la date de fin n'est pas sup�rieure ou �gale � la date de d�but |
| return false ; |
| } |
| } |
| // Si re�oit seulement 1 ou aucune date en param�tres. |
| return true ; |
| } |
| |
| |
| function isSIN(_val) |
| { |
| rValue = false; |
| sum = 0; |
| val = 0; |
| num = new Array(); |
| |
| regExp = /^\d{9}$/; |
| if(regExp.test(_val)) |
| { |
| for(i=0;i<9;i++) |
| { |
| num[i] = _val.charAt(i); |
| } |
| |
| for (i=1; i<9; ++i ) |
| { |
| val = num[i-1] - '0'; |
| val *= (i%2==1 ) ? 1 : 2; |
| if ( val > 9 ) |
| { |
| val = parseInt(val / 10 ) + ( val % 10); |
| } |
| sum += val; |
| } |
| rValue = (10 - (sum % 10 ) ) % 10 == (num[8] - '0'); |
| } |
| |
| return rValue; |
| } |
| |
| function centerPopup() { |
| var x = screen.width / 2 - popup_size_x / 2; |
| var y = screen.height / 2 - popup_size_y / 2; |
| window.moveTo(x, y); |
| window.focus(); |
| } |