{"version":3,"sources":["js/dateCompare.js"],"names":["dateCompare","getDate","strDate","day","parseInt","substring","month","year","d","Date","setFullYear","compare","date_1","date_2","diff","getTime","Math","abs","checkDates","isDate","document","getElementById","getdtDebutTextBox","value","getdtFinTextBox","alert","Left","str","n","String","length","Right","iLen","FromDateFrToJavascript","DateToConvert","FromDateJavascriptToFr","formatNumberOnTwoDigits","getMonth","getFullYear","nNumber","selectDuree","duree","getduree","selectedIndex","options","toLowerCase","dtDebutVL","dtFinVL","vardtDebCommon","vardtFinCommon","GetFirstJanuary","DateAddMonthPlus1Day","getannee","selectAnnee","annee","DateAddMonthMinus1Day","DateToWorkOn","ValueToBeAdded","dt","DateAdd","ItemType","setDate","setMonth","setYear","GetFirstJanuaryOfCurrentYear","curDate","getLastDecemberOfLastYear","dtCh","minYear","maxYear","isInteger","s","i","c","charAt","stripCharsInBag","bag","returnString","indexOf","daysInFebruary","DaysArray","this","dtStr","daysInMonth","pos1","pos2","strDay","strMonth","strYear","strYr","ValidateForm","frmSample","txtDate","focus"],"mappings":"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","file":"dateCompare.js","sourcesContent":["function dateCompare() {\r\n}\r\n//On suppose que la date entrée a été validée auparavant\r\n//au format dd/mm/yyyy\r\nfunction getDate(strDate) { \r\n //debugger;\r\n day = parseInt(strDate.substring(0,2));\r\n month = parseInt(strDate.substring(3, 5), 10) - 1;\r\n year = parseInt(strDate.substring(6, 10));\r\n\r\n d = new Date();\r\n d.setFullYear(year, month, day); \r\n\r\n //L'ordre compte ! doit etre set du plus petit au plus grand, sinon le setteur échoue\r\n// d.setDate(day);\r\n// d.setMonth(month);\r\n// d.setYear(year);\r\n\r\n return d; \r\n}\r\n//Retourne:\r\n// 0 si date_1=date_2\r\n// 1 si date_1>date_2\r\n// -1 si date_1 0) {\r\n alert('La date de début ne peut être postérieure à la date de fin');\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nfunction Left(str, n){\r\n if (n <= 0)\r\n return \"\";\r\n else if (n > String(str).length)\r\n return str;\r\n else\r\n return String(str).substring(0,n);\r\n}\r\n\r\nfunction Right(str, n){\r\n if (n <= 0)\r\n return \"\";\r\n else if (n > String(str).length)\r\n return str;\r\n else {\r\n var iLen = String(str).length;\r\n return String(str).substring(iLen, iLen - n); \r\n }\r\n}\r\n\r\nfunction FromDateFrToJavascript(DateToConvert) {\r\n return (getDate(DateToConvert))\r\n // Grumly 03/08/2010 -> supprimé la ligne ci-dessous car ne semble pas fonctionner par exemple avec la date du 03/08/2010 (on dirait qu'il s'embrouille avec les dates anglaises)\r\n //return new Date(parseInt(DateToConvert.substr(6,4)), parseInt(DateToConvert.substr(3,2)) - 1, parseInt(DateToConvert.substr(0,2)));\r\n}\r\n\r\nfunction FromDateJavascriptToFr(DateToConvert) {\r\n return formatNumberOnTwoDigits(DateToConvert.getDate()) + '/' + formatNumberOnTwoDigits(DateToConvert.getMonth() + 1) + '/' + DateToConvert.getFullYear();\r\n}\r\n\r\nfunction formatNumberOnTwoDigits(nNumber){\r\n if (parseInt(nNumber) < 10) {\r\n return '0' + String(nNumber);\r\n }\r\n else{\r\n return String(nNumber);\r\n }\r\n}\r\n\r\nfunction selectDuree() {\r\n var duree = document.getElementById(getduree());\r\n if (duree.selectedIndex > 0) {\r\n if (duree.options[duree.selectedIndex].value.toLowerCase() == 'firstvl') {\r\n document.getElementById(getdtDebutTextBox()).value = dtDebutVL;\r\n }\r\n else if (duree.options[duree.selectedIndex].value.toLowerCase() == 'histo') {\r\n document.getElementById(getdtDebutTextBox()).value = dtDebutVL;\r\n document.getElementById(getdtFinTextBox()).value = dtFinVL;\r\n }\r\n else {\r\n if (duree.options[duree.selectedIndex].value.toLowerCase() == 'hc') {\r\n document.getElementById(getdtDebutTextBox()).value = vardtDebCommon;\r\n document.getElementById(getdtFinTextBox()).value = vardtFinCommon;\r\n }\r\n else {\r\n if (duree.options[duree.selectedIndex].value.toLowerCase() == 'ytd') {\r\n document.getElementById(getdtDebutTextBox()).value = FromDateJavascriptToFr(GetFirstJanuary(FromDateFrToJavascript(document.getElementById(getdtFinTextBox()).value)));\r\n }\r\n else {\r\n document.getElementById(getdtDebutTextBox()).value = FromDateJavascriptToFr(DateAddMonthPlus1Day(FromDateFrToJavascript(document.getElementById(getdtFinTextBox()).value), -parseInt(duree.options[duree.selectedIndex].value)));\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (typeof (getannee) !== 'undefined') {\r\n var annee = document.getElementById(getannee());\r\n annee.selectedIndex = 0;\r\n }\r\n\r\n}\r\n\r\nfunction selectAnnee() {\r\n var annee = document.getElementById(getannee());\r\n if (annee.selectedIndex > 0) {\r\n document.getElementById(getdtDebutTextBox()).value = '01/01/' + annee.options[annee.selectedIndex].value;\r\n document.getElementById(getdtFinTextBox()).value = '31/12/' + annee.options[annee.selectedIndex].value;\r\n }\r\n\r\n\r\n if (typeof (getduree) !== 'undefined') {\r\n var duree = document.getElementById(getduree());\r\n duree.selectedIndex = 0;\r\n }\r\n}\r\n\r\nfunction DateAddMonthMinus1Day(DateToWorkOn, ValueToBeAdded) {\r\n var dt = DateAdd('m', DateToWorkOn, ValueToBeAdded);\r\n dt = DateAdd('d', dt, -1);\r\n return (dt);\r\n}\r\n\r\nfunction DateAddMonthPlus1Day(DateToWorkOn, ValueToBeAdded) {\r\n var dt = DateAdd('m', DateToWorkOn, ValueToBeAdded);\r\n dt = DateAdd('d', dt, 1);\r\n return (dt);\r\n}\r\n\r\nfunction DateAdd(ItemType, DateToWorkOn, ValueToBeAdded) {\r\n switch (ItemType)\r\n {\r\n case 'd': //add days\r\n DateToWorkOn.setDate(DateToWorkOn.getDate() + ValueToBeAdded)\r\n break;\r\n case 'm': //add months\r\n DateToWorkOn.setMonth(DateToWorkOn.getMonth() + ValueToBeAdded)\r\n break;\r\n case 'y': //add years\r\n DateToWorkOn.setYear(DateToWorkOn.getFullYear() + ValueToBeAdded)\r\n break;\r\n }\r\n return DateToWorkOn;\r\n}\r\n\r\nfunction GetFirstJanuaryOfCurrentYear() {\r\n var curDate = new Date();\r\n return new Date(curDate.getFullYear(), 0, 1);\r\n}\r\n\r\nfunction GetFirstJanuary(DateToWorkOn) {\r\n var curDate = new Date();\r\n return new Date(DateToWorkOn.getFullYear(), 0, 1);\r\n}\r\n\r\nfunction getLastDecemberOfLastYear() {\r\n return (DateAdd('d', GetFirstJanuaryOfCurrentYear(), -1));\r\n}\r\n\r\n\r\n/**\r\n* DHTML date validation script for dd/mm/yyyy. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)\r\n*/\r\n// Declaring valid date character, minimum year and maximum year\r\nvar dtCh = \"/\";\r\nvar minYear = 1900;\r\nvar maxYear = 2100;\r\n\r\nfunction isInteger(s) {\r\n var i;\r\n for (i = 0; i < s.length; i++) {\r\n // Check that current character is number.\r\n var c = s.charAt(i);\r\n if (((c < \"0\") || (c > \"9\"))) return false;\r\n }\r\n // All characters are numbers.\r\n return true;\r\n}\r\n\r\nfunction stripCharsInBag(s, bag) {\r\n var i;\r\n var returnString = \"\";\r\n // Search through string's characters one by one.\r\n // If character is not in bag, append to returnString.\r\n for (i = 0; i < s.length; i++) {\r\n var c = s.charAt(i);\r\n if (bag.indexOf(c) == -1) returnString += c;\r\n }\r\n return returnString;\r\n}\r\n\r\nfunction daysInFebruary(year) {\r\n // February has 29 days in any year evenly divisible by four,\r\n // EXCEPT for centurial years which are not also divisible by 400.\r\n return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);\r\n}\r\nfunction DaysArray(n) {\r\n for (var i = 1; i <= n; i++) {\r\n this[i] = 31\r\n if (i == 4 || i == 6 || i == 9 || i == 11) { this[i] = 30 }\r\n if (i == 2) { this[i] = 29 }\r\n }\r\n return this\r\n}\r\n\r\nfunction isDate(dtStr) {\r\n var daysInMonth = DaysArray(12)\r\n var pos1 = dtStr.indexOf(dtCh)\r\n var pos2 = dtStr.indexOf(dtCh, pos1 + 1)\r\n var strDay = dtStr.substring(0, pos1)\r\n var strMonth = dtStr.substring(pos1 + 1, pos2)\r\n var strYear = dtStr.substring(pos2 + 1)\r\n strYr = strYear\r\n if (strDay.charAt(0) == \"0\" && strDay.length > 1) strDay = strDay.substring(1)\r\n if (strMonth.charAt(0) == \"0\" && strMonth.length > 1) strMonth = strMonth.substring(1)\r\n for (var i = 1; i <= 3; i++) {\r\n if (strYr.charAt(0) == \"0\" && strYr.length > 1) strYr = strYr.substring(1)\r\n }\r\n month = parseInt(strMonth)\r\n day = parseInt(strDay)\r\n year = parseInt(strYr)\r\n if (pos1 == -1 || pos2 == -1) {\r\n //alert(\"The date format should be : dd/mm/yyyy\")\r\n return false\r\n }\r\n if (strMonth.length < 1 || month < 1 || month > 12) {\r\n //alert(\"Please enter a valid month\")\r\n return false\r\n }\r\n if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {\r\n //alert(\"Please enter a valid day\")\r\n return false\r\n }\r\n if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {\r\n //alert(\"Please enter a valid 4 digit year between \" + minYear + \" and \" + maxYear)\r\n return false\r\n }\r\n if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {\r\n //alert(\"Please enter a valid date\")\r\n return false\r\n }\r\n return true\r\n}\r\n\r\nfunction ValidateForm() {\r\n var dt = document.frmSample.txtDate\r\n if (isDate(dt.value) == false) {\r\n dt.focus()\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/*\r\n function DateAdd(ItemType, ValueToBeAdded, DateToWorkOn)\r\n {\r\n alert(1);\r\n switch (ItemType)\r\n {\r\n //date portion \r\n case 'd': //add days\r\n DateToWorkOn.setDate(DateToWorkOn.getDate() + ValueToBeAdded)\r\n break;\r\n case 'm': //add months\r\n DateToWorkOn.setMonth(DateToWorkOn.getMonth() + ValueToBeAdded)\r\n break;\r\n case 'y': //add years\r\n DateToWorkOn.setYear(DateToWorkOn.getFullYear() + ValueToBeAdded)\r\n break;\r\n //time portion \r\n case 'h': //add days\r\n DateToWorkOn.setHours(DateToWorkOn.getHours() + ValueToBeAdded)\r\n break;\r\n case 'n': //add minutes\r\n DateToWorkOn.setMinutes(DateToWorkOn.getMinutes() + ValueToBeAdded)\r\n break;\r\n case 's': //add seconds\r\n DateToWorkOn.setSeconds(DateToWorkOn.getSeconds() + ValueToBeAdded)\r\n break;\r\n }\r\n return DateToWorkOn;\r\n }\r\n function DateDiff(IntervalType, StartDate, EndDate)\r\n {\r\n var Interval = 0;\r\n var DevideBy = 1;\r\n if (EndDate < StartDate)\r\n {\r\n self.alert(\"StartDate can not be smaller than EndDate \");\r\n return Interval;\r\n }\r\n switch (IntervalType)\r\n {\r\n //date portion \r\n case 'd': //add days\r\n DevideBy = 1000 * 60 * 60 * 24;\r\n Interval = EndDate - StartDate;\r\n Interval = Math.floor(Interval / DevideBy);\r\n \r\n\r\n break;\r\n case 'm': //add months\r\n var MonthsInFullYear = EndDate.getFullYear() - StartDate.getFullYear();\r\n if (MonthsInFullYear > 0)\r\n {\r\n MonthsInFullYear = (MonthsInFullYear - 1) * 12;\r\n Interval = EndDate.getMonth() + (12 - StartDate.getMonth());\r\n Interval = Interval + MonthsInFullYear\r\n }\r\n else\r\n {\r\n Interval = EndDate.getMonth() - StartDate.getMonth();\r\n }\r\n\r\n break;\r\n case 'y': //years\r\n Interval = EndDate.getFullYear() - StartDate.getFullYear();\r\n break;\r\n\r\n //time portion \r\n case 'h': //days\r\n DevideBy = 1000 * 60 * 60;\r\n Interval = EndDate - StartDate;\r\n Interval = Math.floor(Interval / DevideBy);\r\n break;\r\n case 'n': // minutes\r\n DevideBy = 1000 * 60;\r\n Interval = EndDate - StartDate;\r\n Interval = Math.floor(Interval / DevideBy);\r\n break;\r\n case 's': //seconds\r\n DevideBy = 1000\r\n Interval = EndDate - StartDate;\r\n Interval = Math.floor(Interval / DevideBy);\r\n break;\r\n }\r\n\r\n return Interval;\r\n } */"]}