function getToday() { // Generate today's date. this.now = new Date("2008/08/20"); var s = "30/05/1387"; ptoday = s.split("/"); this.year = parseInt(ptoday[2], 10); this.month = parseInt(ptoday[1], 10); this.day = parseInt(ptoday[0], 10); } var today = new getToday(); var dataAvailable = new Number(0); var pMonths = new Array('فروردين', 'ارديبهشت', 'خرداد', 'تير', 'مرداد', 'شهريور', 'مهر', 'آبان', 'آذر', 'دي', 'بهمن', 'اسفند'); var pWeekDays = new Array('شنبه', 'يك شنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنج شنبه', 'جمعه'); function fix(n) {return(n<0?Math.ceil(n):Math.floor(n));} function Int(n) {return(Math.floor(n));} function HasLeapFrac(y) { y = fix(y); a = 31 * (y + 38) / 128; return ( a - fix(a) < 0.31 ); } function IsLeapYear(y) { return ( HasLeapFrac(y) && (! HasLeapFrac(y-1))); } function getPDate(adate) { // Generate persian date. ptoday = adate.split("/"); this.year = parseInt(ptoday[2], 10); this.month = parseInt(ptoday[1], 10); this.day = parseInt(ptoday[0], 10); } var daysInMonth = new Array(31, 31, 31, 31, 31, 31, 30, 30,30, 30, 30, 30); var days = new Array("Ô", "í", "Ï", "Ó", "", "", "Ì"); function getDays(month, year) { // Test for leap year when February is selected. if (11 == month) return IsLeapYear(year) ? 30 : 29; else return daysInMonth[month]; } function twoChar(value) {return (value < 10 ? "0" + value : value);} function getWeekDay(adate) { // 1 Far 82 was Friday = 6 // get 1st Day of year var startDay = 6; for (var y = 1382; y < adate.year; y++) {startDay++;if (IsLeapYear(y)) startDay++;} for (var m = 1; m < adate.month; m++) {startDay += daysInMonth[m-1];} return ((startDay + adate.day - 1) % 7); } function loadData() { dataAvailable = 0; dates.load("postdates.asp?year=" + document.getElementById("year").value + "&month=" + document.getElementById("month").value); } function newCalendar() { //alert(document.getElementById("dates").tagName); if (dataAvailable == 0) return; //if (dates.documentElement) alert(dates.documentElement.childNodes.length); today = new getToday(); var parseYear = parseInt(document.getElementById("year").value); var newCal = new getPDate("1" + "/" + (document.getElementById("month").selectedIndex + 1) + "/" + parseYear); var day = -1; var startDay = getWeekDay(newCal); var daily = 0; if ((today.year == newCal.year) && (today.month == newCal.month)) day = today.day; // Cache the calendar table's tBody section, dayList. var tableCal = document.getElementById("dayList"); var intDaysInMonth = getDays(newCal.month-1, newCal.year); for (var intWeek = 0; intWeek < tableCal.rows.length; intWeek++) { for (var intDay = 0; intDay < tableCal.rows[intWeek].cells.length; intDay++) { var cell = tableCal.rows[intWeek].cells[intDay]; // Start counting days. if ((intDay == startDay) && (0 == daily)) daily = 1; // Highlight the current day. cell.className = (day == daily) ? "today" : "day"; // Output the day number into the cell. var found = false; if (dates.documentElement) for (var postDays =0; !found && (postDays < dates.documentElement.childNodes.length); postDays++) {found = daily == dates.documentElement.childNodes.item(postDays).attributes.getNamedItem("value").text;} if ((daily > 0) && (daily <= intDaysInMonth)) { if (found) { sDate = 10000 * parseInt(document.getElementById("year").value) + 100 * parseInt(document.getElementById("month").value) + daily; cell.innerHTML = "" + (daily++) + ""}; else cell.innerHTML = daily++; } else { cell.innerHTML = " "; }}}} function decreaseMonth() { if (document.getElementById("month").selectedIndex == 0) { document.getElementById("month").selectedIndex = 11; if (document.getElementById("year").selectedIndex != 0) document.getElementById("year").selectedIndex = document.getElementById("year").selectedIndex - 1; } else document.getElementById("month").selectedIndex = document.getElementById("month").selectedIndex - 1; loadData(); } function increaseMonth() { if (document.getElementById("month").selectedIndex == 11) { document.getElementById("month").selectedIndex = 0; if (document.getElementById("year").selectedIndex != document.getElementById("year").options.length) document.getElementById("year").selectedIndex = document.getElementById("year").selectedIndex + 1; } else document.getElementById("month").selectedIndex = document.getElementById("month").selectedIndex + 1; loadData(); } function showWords(words, times, holder) { awords = words.split(' '); atimes = times.split(' '); if ((awords.length > 0) && (words.length > 0)) { word=awords.shift(); time=atimes.shift(); document.all[holder].innerHTML +=word + " "; window.setTimeout('showWords("' + awords.join(' ') + '","' + atimes.join(' ') + '","' + holder + '")', time); } else window.clearTimeout(); } function dispImg(image) { document.all(image).style.display = 'block'; }