//var args = window.dialogArguments;
var WeekTitles=new Array('Пн','Вт','Ср','Чт','Пт','Сб', 'Вс')
function showallweektitles(){
	var i, answer=" \n"
	for(i=0;i<WeekTitles.length;i++) answer+="    <span>"+WeekTitles[i]+"</span>\n"
	answer+="\n"
	return answer
}

function showcalendar(ord, idDate){
date=document.getElementById(idDate).value;
if(date==''){var dateObj = new Date()
var dd =Array();
dd[0]=dateObj.getDay();
dd[1]=dateObj.getMonth()+1;
dd[2]=dateObj.getFullYear();
}
else dd=date.split('.');
calendar_show(dd[1], dd[0], dd[2], idDate, ord);
}

function _returnValue(d, m, y, idDate, ord)
 {date='';if(d.length<2)date+='0'+d;else date+=d;
if(m.length<2)date+='.0'+m;else date+='.'+m;
date+='.'+y; 	document.getElementById(idDate).value=date;
 	document.getElementById("calendar"+ord).innerHTML='';
 return false;
 }

function calendar_show(m, d, y, idDate, ord){

	var sdate= new Date(m+'/1/'+y);
	var mdate= new Date(m+'/'+d+'/'+y);
	var todaydate= new Date();
	var days=dayonmonth(m,y)

	var iday=1, day, answer=''
	answer+='<div class="bg"></div>';
	answer+='<div class="calendar">';
	answer+='<div class="nav"><a href="#" class="back" onClick="calendar_move(\'-\',\'m\','+m+','+d+','+y+', \''+idDate+'\', \''+ord+'\'); return false;">&laquo;</a><a href="#" class="next" onClick="calendar_move(\'+\',\'m\','+m+','+d+','+y+', \''+idDate+'\', \''+ord+'\'); return false;">&raquo;</a><p class="month">'+m+'/'+y+'</p></div>';


    answer+='<div class="nums">';
	answer+=showallweektitles()
	if(sdate.getDay()==0)dweek=7;
	else dweek=sdate.getDay();

	for(day=1;day<dweek;day++){
		iday++
        answer+="<a style=\"background:none;\"></a>";

	}

	for(day=1;day<=days;day++){
		iday++
		if((todaydate.getMonth()+1)==m && todaydate.getDate()==day && todaydate.getFullYear()==y)
			answer+=" <a href=\"#\" onClick=\"return _returnValue('"+day+"', '"+m+"', '"+y+"', '"+idDate+"', '"+ord+"');\" class=\"act\">"+day+"</a>";
		else
			answer+=" <a href=\"#\" onClick=\"return _returnValue('"+day+"', '"+m+"', '"+y+"', '"+idDate+"', '"+ord+"');\">"+day+"</a>";
		if(iday==7){

			iday=1
		}
	}
     answer+='</div><div class="clear"></div>';
     answer+='</div>';
	//self.calendar.innerHTML=answer
	//alert(answer);
	document.getElementById("calendar"+ord).innerHTML=answer;
}
function dayonmonth(m, y){ // Функция, для определения количества дней в месяце
	var answer
	if(m!=2){ // Если не "Февраль"
		var date1=new Date(m+'/31/'+y)
		var mm=(m<12)?(m+1):1;
		var yy=(m<12)?y:(y+1);
		var date2=new Date(mm+'/1/'+yy)
		answer=(date1.getDay()==date2.getDay())?'30':'31';
	}else{
		var date1=new Date(m+'/29/'+y)
		var mm=(m<12)?(m+1):1;
		var yy=(m<12)?y:(y+1);
		var date2=new Date(mm+'/1/'+yy)
		answer=(date1.getDay()==date2.getDay())?'28':'29';
	}
	return answer
}
function calendar_move(to, index, m, d, y, idDate, ord){
	switch(to){
		case('-'):
			switch(index){
				case('m'):
					if(m>1){
						m--
					}else{
						m=1
						y--
					}
					break
				case('d'):
					var mm=(m>1)?--m:1
					var yy=(m>1)?y:--y
					var days=dayonmonth(mm, yy)
					if(d>1){
						d--
					}else{
						d=days
						m=mm
						y=yy
					}
					break
				case('y'):
					y--
					break
			}
			break
		case('+'):
			switch(index){
				case('m'):
					if(m<12){
						m++
					}else{
						m=1
						y++
					}
					break
				case('d'):
					var mm=(m<12)?++m:1
					var yy=(m<12)?y:++y
					var days=dayonmonth(m, y)
					if(d<days){
						d++
					}else{
						d=1
						m=mm
						y=yy
					}
					break
				case('y'):
					y++
					break
				}
			break
	}

	calendar_show(m, d, y, idDate, ord)
}
