Advertisement
Guest User

vr_validateAndConvertDate

a guest
Sep 30th, 2014
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. validateAndConvertDate: function (dateValue, dateInputField, hotelValidation, yearAndMonthInputField) {
  2.     hotelValidation = typeof hotelValidation !== "undefined" ? hotelValidation: false;
  3.     var day;
  4.     var month;
  5.     var year;
  6.     var d = new Date();
  7.     if (dateValue.indexOf(".") != -1) {
  8.         if (dateValue.split(".")[0].length <= 2) {
  9.             day = ("0" + dateValue.split(".")[0]).slice( - 2);
  10.         }
  11.         if (dateValue.split(".")[1].length <= 2) {
  12.             month = ("0" + dateValue.split(".")[1]).slice( - 2);
  13.         }
  14.         if (dateValue.split(".").length == 3) {
  15.             if (dateValue.split(".")[2].length == 2) {
  16.                 year = "20" + dateValue.split(".")[2];
  17.             } else {
  18.                 if (dateValue.split(".")[2].length == 4) {
  19.                     year = dateValue.split(".")[2];
  20.                 }
  21.             }
  22.         } else {
  23.             if (dateValue.split(".").length == 2) {
  24.                 var currentMonth = d.getMonth() + 1;
  25.                 if (month >= currentMonth) {
  26.                     year = d.getFullYear();
  27.                 } else {
  28.                     year = d.getFullYear() + 1;
  29.                 }
  30.             }
  31.         }
  32.         if (day == null || day == "undefined") {
  33.             return false;
  34.         }
  35.         if (month == null || month == "undefined") {
  36.             return false;
  37.         }
  38.         if (year == null || year == "undefined" || year < d.getFullYear()) {
  39.             return false;
  40.         }
  41.         if (year == d.getFullYear() && parseInt(month, 10) < d.getMonth() + 1) {
  42.             return false;
  43.         }
  44.         if (year == d.getFullYear() && parseInt(month, 10) == d.getMonth() + 1 && parseInt(day, 10) < d.getDate()) {
  45.             return false;
  46.         }
  47.         if (parseInt(month, 10) > 12) {
  48.             return false;
  49.         }
  50.         if (day < 1 || day > this.daysInMonth(month, year)) {
  51.             return false;
  52.         }
  53.         if (!hotelValidation) {
  54.             dateInputField.val(day + "." + month + "." + year);
  55.         } else {
  56.             dateInputField.val(day);
  57.             yearAndMonthInputField.val(year + "-" + month);
  58.         }
  59.         return true;
  60.     } else {
  61.         if ($.browser.mobile && dateValue.indexOf("-") != -1) {
  62.             if (dateValue.split("-")[0].length == 4) {
  63.                 year = dateValue.split("-")[0];
  64.             }
  65.             if (dateValue.split("-")[1].length == 2) {
  66.                 month = dateValue.split("-")[1];
  67.             }
  68.             if (dateValue.split("-")[2].length == 2) {
  69.                 day = dateValue.split("-")[2];
  70.             }
  71.             if (!hotelValidation) {
  72.                 dateInputField.val(day + "." + month + "." + year);
  73.             } else {
  74.                 dateInputField.val(day);
  75.                 yearAndMonthInputField.val(year + "-" + month);
  76.             }
  77.             return true;
  78.         }
  79.     }
  80.     return false;
  81. },
  82. daysInMonth: function (month, year) {
  83.     return new Date(year, month, 0).getDate();
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement