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+">"+td2;
else
{
if (bgr == "freeday") cellCode = td1+" id=n>"+cellValue+td2;
else
{
if (tek) cellCode = td1+" "+addstyle+">"+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;
}
|