var ppcMN = new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"); var ppcWN = new Array("пн","вт","ср","чт","пт","сб","вс"); var ppcTodayText = "сегодня"; var ppcPreviousYear = "прошлый год"; var ppcNextYear = "следующий год"; var ppcPreviousMonth = "прошлый месяц"; var ppcNextMonth = "следующий месяц"; var ppcSelectMonth = "новости за месяц"; var ppcSelectYear = "новости за год"; var ppcSelectDay = "новости за день"; var selYear; var selMonth; var selDay; var today; function isLeap(year) { if ((year%400==0)||((year%4==0)&&(year%100!=0))) {return true;} else return false; } var ppcTT="\n"; var ppcCD=ppcTT;var ppcFT="";var ppcFC=true; var ppcTI=false;var ppcSV=null;var ppcRL=null; var ppcML=new Array(31,28,31,30,31,30,31,31,30,31,30,31); if (isLeap) ppcML[1] = 27; var ppcNow=new Date(); var ppcPtr=new Date(); var omon; var oyear; var otoday; var selectedObject=''; function getDateRangeFor(indate, tday) { ppcSV = indate; omon=document.getElementById("calMonth"); oyear=document.getElementById("calYear"); otoday=document.getElementById("calToday"); var arr = ppcSV.split("-"); var year = arr[0]; var month = arr[1]; var date = arr[2]; selYear=year; selMonth=month; selDay=date; today=tday; if((year!=null)&&(month!=null)&&(date!=null)&&(year!=0)&&(month!=0)&&(date!=0)) { ppcNow.setDate(arr[2]); ppcNow.setMonth(arr[1]-1); ppcNow.setYear(arr[0]); } setCalendar(); } function movecal(mnmv,yrmv) { var tmon,tyear; tmon=ppcPtr.getMonth(); tyear=ppcPtr.getFullYear(); tmon2=tmon; tyear2=tyear; tmon+=mnmv;tyear+=yrmv; var cd= new Date(); dt_arr=today.split('-'); tdyear=dt_arr[0]; tdmon=dt_arr[1]; if(tmon>11) { tmon=0; tyear++; } if(tmon<0) { tmon=11; tyear--; } if (tyear>tdyear || tmon+1>tdmon && tyear==tdyear) { if (tmon+1>tdmon && tyear==tdyear) tmon = tdmon-1; else return; } if (tyear==tdyear) { document.getElementById('year_up').innerHTML = ''; } else { document.getElementById('year_up').innerHTML = ''; } if (tmon+1==tdmon && tyear==tdyear) { document.getElementById('month_up').innerHTML = ''; } else { document.getElementById('month_up').innerHTML = ''; } if(tyear<=100) tyear+=1900; setCalendar(tyear,tmon); if((selectedObject=="day_"+today+"_href")&&(tyear==tdyear)&&(tmon==(tdmon-1))){ otoday.innerHTML=""; }else{ otoday.innerHTML=""+ppcTodayText+"

"; } } function selectday(param) { dt_arr=param.split('-'); // alert(param); selYear=parseInt(dt_arr[0]); selMonth=parseInt(dt_arr[1]); selDay=parseInt(dt_arr[2]); // if(param==today){ // otoday.innerHTML=""; // }else{ // otoday.innerHTML=""+ppcTodayText+""; // } document.all['year'].value = selYear; document.all['month'].value = selMonth; document.all['day'].value = selDay; if (arguments[1]!=1) ovload(); setCalendar(selYear,selMonth-1); } function selectmonth(param) { dt_arr=param.split('-'); selYear=parseInt(dt_arr[0]); selMonth=parseInt(dt_arr[1]); selDay=parseInt(ppcML[parseInt(selMonth) - 1]); document.all['year'].value = selYear; document.all['month'].value = selMonth; document.all['day'].value = selDay; if (arguments[1]!=1) ovload(); setCalendar(selYear,selMonth-1); } function selectyear(param) { document.all['year'].value = param; document.all['month'].value = ''; document.all['day'].value = ''; if (arguments[1]!=1) ovload(); setCalendar(param,selMonth-1); } function selecttoday() { selectday(today); } function setCalendar(year,month) { var day=1; if ((year == null)&&(month== null)) { year = ppcNow.getFullYear(); month = ppcNow.getMonth(); } if (month == 1) { ppcML[1] = (isLeap(year)) ? 29 : 28; } ppcPtr.setYear(year); ppcPtr.setMonth(month); ppcPtr.setDate(1); addstyle=''; if ((selMonth == month+1)&&(selDay=='')&&(selYear == year)) selectedObject="month_href"; var month1 = parseInt(month)+1; omon.innerHTML = ""+ppcMN[month]+""; addstyle=''; if ((selMonth == '')&&(selYear == year)) selectedObject="year_href"; oyear.innerHTML = ""+year+""; updateContent(); } function updateContent() { generateContent(); document.getElementById("monthDays").innerHTML = ppcCD; ppcCD = ppcTT; } function generateContent() { var year = getFullYear(ppcPtr); var month = ppcPtr.getMonth(); var date = 1; var day = (weekDayConvert(ppcPtr.getDay()))%7; var len = ppcML[month]; var prevlen = ppcML[(month+11)%12]; var bgr,cnt,tmp = ""; var j,i = 0; var thismonth = month; ppcCD += "

"; for(i=0;i"+ppcWN[i]+""; ppcCD += ""; dt_arr=today.split('-'); emptydate = false; for (j = 0; j < 7; ++j) { if (emptydate &&(j>0)) {break;} for (i = 0; i < 7; ++i) { bgr = ((date>dt_arr[2])&&(dt_arr[1] == month+1)&&(dt_arr[0] == year)) ? "freeday" : "usualday"; // bgr = ((i == 5)||(i == 6)||((date>dt_arr[2])&&(dt_arr[1] == month+1)&&(dt_arr[0] == year))) ? "freeday" : "usualday"; if((j == 0)&&(i < day)) tmp += makeCell(bgr,year,month+1,prevlen-day+i+1,true); else { tmp += makeCell(bgr,year,month+1,date,emptydate); ++date; } if(date > len) { emptydate = true; month++; date = 1; } } addstyle =""; year_ = year; month_ = month; date_ = date; if (month_==12) { month_ = 0; year_++; } ppcCD += "\n" + tmp + "\n"; tmp = ""; } ppcCD += "
\n"; } function makeCell(bgr,year,month,date,zerodate) { m = parseInt(month); if (m<10) m = "0"+m; // bgr = "freeday"; var param = "\'"+year+"-"+month+"-"+date+"\'"; var td1 = ""; var cellValue = (zerodate == 0) ? date+"" : " "+date; var cellCode = ""; if (zerodate != 0) { cellCode = td1+">"+td2; }else{ if(curdate==today) cellCode = td1+" "+addstyle+">
"+lnk+cellValue+"
"+td2; else { if (bgr == "freeday") cellCode = td1+" id=n>"+cellValue+td2; else { if (tek) cellCode = td1+" "+addstyle+">
"+lnk+cellValue+"
"+td2; else cellCode = td1+" "+addstyle+">"+lnk+cellValue+td2; } } } return cellCode; } function getFullYear(obj) { yr=obj.getYear(); if(yr<1900) yr+=1900; return yr; } function validDate(date) { var reply = true; if (ppcRL == null) {/* NOP */} else { var arr = ppcRL.split(":"); var mode = arr[0]; var arg = arr[1]; var key = arr[2].charAt(0).toLowerCase(); if (key != "d") { var day = weekDayConvert(ppcPtr.getDay()); var orn = isEvenOrOdd(date); reply = (mode == "[^]") ? !((day == arg)&&((orn == key)||(key == "a"))) : ((day == arg)&&((orn == key)||(key == "a")));} else {reply = (mode == "[^]") ? (date != arg) : (date == arg);}} return reply; } function isEvenOrOdd(date) { if (date - 21 > 0) {return "e";} else if (date - 14 > 0) {return "o";} else if (date - 7 > 0) {return "e";} else {return "o";} } function weekDayConvert(weekDayNum){ weekDayNum--; if(weekDayNum<0) weekDayNum=6; return weekDayNum; } function ovload() { document.getElementById('newsform').submit(); } Array.prototype.search = function(searchItem, compare, right) { if (searchItem === undefined) return null; if (!compare) { compare = function(a, b) { return (String(a) == String(b)) ? 0 : (String(a) < String(b)) ? -1 : +1; } } var found = false, l = 0, u = this.length - 1; while (l <= u) { var m = parseInt((l + u) / 2); switch (compare(this[m], searchItem)) { case -1: var ml = m; l = m + 1; break; case +1: var mu = m; u = m - 1; break; default: found = true; if (right) { l = m + 1; } else { u = m - 1; } } } if (!found) { this.insertIndex = (ml + 1) || mu || 0; //this.insertIndex = (ml) ? ml + 1 : mu; return -1; } return (right) ? u : l; } Array.prototype.indexOf = function(searchItem, compare) { return this.search(searchItem, compare, false); } Array.prototype.lastIndexOf = function(searchItem, compare) { return this.search(searchItem, compare, true); } function openCalendar() { var form = document.getElementById('newsform'); // alert(form); var sel_year = form.year.value; var sel_month = form.month.value; var sel_day = form.day.value; if (parseInt(sel_year) < 2010) { window.open('/vox_populi/questions1?openview&startkey=2010-01-20', '_self'); return; } if ((parseInt(sel_year) == 2010)&&(parseInt(sel_month) < 2)) { window.open('/vox_populi/questions1?openview&startkey=2010-01-31', '_self'); return; } var url = '/vox_populi/questions1?openview&' + entriescount + 'startkey='; url = url.concat(sel_year); url = url.concat('-'); if (parseInt(sel_month) < 10) { url = url.concat('0'); url = url.concat(sel_month); } else { url = url.concat(sel_month);} url = url.concat('-'); if (parseInt(sel_day) < 10) { url = url.concat('0'); url = url.concat(sel_day); } else { url = url.concat(sel_day);} window.open(url, '_self'); return; }