﻿isIE = (document.all ? true : false);
isDOM = (document.getElementById ? true : false);

// Initializing arrays
var months = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov", "Dec");
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,
30, 31, 30, 31, 31, 28, 31, 30, 31, 30, 31, 31,
30, 31, 30, 31);

var displayMonth = new Date().getMonth();
var displayYear = new Date().getFullYear();
var DisplayNextMonth;
var DisplayNextYear;
var displayDivName;
var displayElement;
var day = -1;

function getDays(month, year) {
// Check for leap year when February is selected
if (1 == month)
return ((0 == year % 4) && (0 != (year % 100))) ||
(0 == year % 400) ? 29 : 28;
else
return daysInMonth[month];

}

function getToday() {
// Create today's date.
this.now = new Date();
this.year = this.now.getFullYear();
this.month = this.now.getMonth();
this.day = this.now.getDate();
}


function getEnterDateToday(today) {
// Create today's date.
this.now = new Date();
this.year = today.getFullYear();
this.month = today.getMonth();
this.day = today.getDate();
}


// Start calendar with today
today = new getToday();

function newCalendar(eltName,attachedElement) {
if (attachedElement) {
if (displayDivName && displayDivName != eltName) hideElement(displayDivName);
displayElement = attachedElement;
}

displayDivName = eltName;

if (attachedElement)
{

if (attachedElement.value !='')
{
today=new Date();
var cf=attachedElement.value.split("/");
 if (cf.length<=1)
 {
 
 return false;
 }
today.setFullYear(cf[2],cf[0]-1,cf[1]);
getEnterDateToday(today);
displayMonth = today.getMonth();
displayYear = today.getFullYear();
day=today.getDate();
//alert(day);
}
else
{
today = new getToday();
}
}
else
{
today = new getToday();
}

var parseYear = parseInt(displayYear + '');
var newCal = new Date(parseYear,displayMonth,1);

var startDayOfWeek = newCal.getDay();

if ((today.year == newCal.getFullYear()) &&
(today.month == newCal.getMonth()))
{
day = today.day;
//alert(day);

}

var intDaysInMonth =
getDays(newCal.getMonth(), newCal.getFullYear());


var daysGrid = makeDaysGrid(startDayOfWeek,day,intDaysInMonth,newCal,eltName);

if (isIE) {
var elt = document.all[eltName];
elt.innerHTML = daysGrid;
} else if (isDOM) {
var elt = document.getElementById(eltName);
elt.innerHTML = daysGrid;
} else {
var elt = document.layers[eltName].document;
elt.open();
elt.write(daysGrid);
elt.close();
}
}

function ChangeColor(Cbo,Val)
{
 if (Val==1)
 {
//Cbo.style.color='orange';
//Cbo.style.backgroundColor='gray';
//Cbo.style.fontWeight='normal';
Cbo.style.cssText="color:blue;text-decoration:none; font-weight:bold; background-color:#FFFF9B;border-width:1px; border-color:blue; border-style:solid"
    
}
else
{
//Cbo.style.color='Black';
//Cbo.style.backgroundColor='white';
//Cbo.style.fontWeight='bold';
Cbo.style.cssText="color:black;text-decoration:none; font-weight:normal; background-color:white;border-width:1px; border-color:white; border-style:solid"
 
}
}


function incMonth(delta,eltName) {
displayMonth = displayMonth+delta;
if (displayMonth >= 12) {
displayMonth = 0;
incYear(1,eltName);
} else if (displayMonth <= -1) {
displayMonth = 11;
incYear(-1,eltName);
} else {
newCalendar(eltName);
}
}

function incYear(delta,eltName) {
displayYear = parseInt(displayYear + '') + delta;
newCalendar(eltName);
}

function makeDaysGrid(startDay,day,intDaysInMonth,newCal,eltName) {
var daysGrid;
var month = newCal.getMonth();
var year = newCal.getFullYear();
var isThisYear = (year == new Date().getFullYear());
var isThisMonth =false;//(day > -1);


daysGrid = '<table border=1 cellspacing=0 cellpadding=0 width=320px style="background-color:white"><tr><td><table border=0 width="100%" cellspacing=0 cellpadding=1 style="font-family:Arial; font-size:12px;"><tr style="background-color:white"><td align="left" vlign="top" width="10%"   >';
//daysGrid += '<font face="Arial" >';
//daysGrid += '';

if (isThisMonth) {daysGrid += '&nbsp;';}
else
{daysGrid += '<a href="javascript:incMonth(-1,\'' + eltName + '\')"><img src="images/arrow_lft.gif" border="0" valign="bottom"></a>';}
daysGrid += '<b>';
daysGrid += '</td><td width="40%"><b>';
if (isThisMonth) { daysGrid += months[month]+' '+year ; }
else { daysGrid += months[month]+' '+year ; }
daysGrid += '</b></td><td align="right" vlign="top" width="30%" >';

//daysGrid += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
daysGrid +='<b style="padding-right:7px" >'+ months[month+1]+' '+(newCal.getMonth()>=11? newCal.getFullYear()+1:newCal.getFullYear())+'</b></td><td align="right" vlign="top" >';

daysGrid += '<a href="javascript:incMonth(1,\'' + eltName + '\')"><img src="images/arrow_rgt.gif" border="0" valign="bottom"></a>';
daysGrid += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
//daysGrid += '</td><td align="right" vlign="top"  >';

daysGrid += '<a style="text-decoration:none;font-weight:normal" href="javascript:hideElement(\'' + eltName + '\')"><img src="images/close.gif" border="0" height="15px" valign="bottom"></a>';
//daysGrid += '<b>&nbsp;S&nbsp; M&nbsp; T&nbsp; W&nbsp; T&nbsp; F&nbsp; S&nbsp;</b>&nbsp;&nbsp;&nbsp;<br>';
daysGrid += '</td></tr><tr><td colspan=4><table border="0" cellspacing=0 width="100%" ><tr><td valign="top" style="vertical-align:top"><table border=0 cellspacing=0 cellpadding=2 width="98%" style="font-family:Arial; font-size:12px;"><tr style="background-color:#E6E6E6"><td align="center">S</td><td align="center">M</td><td align="center">T</td><td align="center">W</td><td align="center">T</td><td align="center">F</td><td align="center">S</td></tr><tr>';

var dayOfMonthOfFirstSunday = (7 - startDay + 1);
for (var intWeek = 0; intWeek < 6; intWeek++) {
var dayOfMonth;
for (var intDay = 0; intDay < 7; intDay++) {
dayOfMonth = (intWeek * 7) + intDay + dayOfMonthOfFirstSunday - 7;

if (dayOfMonth <= 0) {
daysGrid += "<td>&nbsp;</td> ";
} else if (dayOfMonth <= intDaysInMonth) {
var color = "black;font-weight:normal;text-decoration:none;border-width:1px; border-color:white; border-style:solid";

if (day > 0 && day == dayOfMonth ) color="blue;text-decoration:none; font-weight:bold; background-color:#FFFF9B;border-width:1px; border-color:blue; border-style:solid";

daysGrid += '<td align="center"><a onmouseover="javascript:ChangeColor(this,1);" onmouseout="ChangeColor(this,0);" href="javascript:setDay(';
daysGrid +=dayOfMonth + ',\'' + eltName + '\')" '
daysGrid += 'style="color:' + color + '">';
var dayString = dayOfMonth + "</a></td> ";
if (dayString.length == 6) dayString = '0' + dayString;
daysGrid += dayString;
}
}


if (dayOfMonth < intDaysInMonth) daysGrid += "</tr>";
}

//Vipin Working ***************************

  


var yearVip = (newCal.getMonth()>11? newCal.getFullYear()+1:newCal.getFullYear());
//isThisYear = (year == new Date().getFullYear()+1);
//alert('year'+yearVip);


var newCalVip = new Date(yearVip,newCal.getMonth()+1  ,1);
//alert(newCalVip);
startDay = newCalVip.getDay();
//alert(startDay);
//***************************
//daysGrid += '</td><td valin="top"><br><br>' + months[month+1] + '<br>';
daysGrid += '</table></td><td valign="top" align="right" style="vertical-align:top"><table border=0 cellspacing=0 cellpadding=2 width="98%" style="font-family:Arial; font-size:12px;"><tr style="background-color:#E6E6E6">';

daysGrid += '<td align="center">S</td><td align="center">M</td><td align="center">T</td><td align="center">W</td><td align="center">T</td><td align="center">F</td><td align="center">S</td></tr><tr>';

//Vipin Modify
intDaysInMonth=getDays(newCalVip.getMonth(), newCalVip.getFullYear());
DisplayNextMonth=newCalVip.getMonth();
DisplayNextYear=newCalVip.getFullYear();

//*********************
//alert('Days'+intDaysInMonth);
var dayOfMonthOfFirstSunday = (7 - startDay + 1);
for (var intWeek = 0; intWeek < 6; intWeek++) {
var dayOfMonth;


for (var intDay = 0; intDay < 7; intDay++) {
dayOfMonth = (intWeek * 7) + intDay + dayOfMonthOfFirstSunday - 7;



if (dayOfMonth <= 0) {
daysGrid += "<td>&nbsp;</td>";
} else if (dayOfMonth <= intDaysInMonth) {
var color = "black;font-weight:normal;text-decoration:none;border-width:1px; border-color:white; border-style:solid";
//if (day > 0 && day == dayOfMonth) color="#ffcc00";

//alert(color);

daysGrid += '<td align="center"><a onmouseover="javascript:ChangeColor(this,1);" onmouseout="ChangeColor(this,0);" href="javascript:setDay2(';
daysGrid += dayOfMonth + ',\'' + eltName + '\')" '
daysGrid += 'style="color:' + color + '">';//newCalendar
var dayString = dayOfMonth + "</a></td> ";
if (dayString.length == 6) dayString = '0' + dayString;
daysGrid += dayString;
}
}


if (dayOfMonth < intDaysInMonth) daysGrid += "</tr>";
}



return daysGrid + "</table></td></tr></table></td></tr></table></td></tr></table>";
}

function setDay2(day,eltName) {
displayElement.value = ((DisplayNextMonth + 1).toString().length==1?'0'+(DisplayNextMonth + 1):(DisplayNextMonth + 1)) + "/" + (day.toString().length==1?'0'+day:day) + "/" + DisplayNextYear;
//document.getElementById("vipin").value=(displayMonth + 1) + "/" + day + "/" + displayYear;
//alert(document.getElementById("vipin").value);
hideElement(eltName);
//formElt.Style.Value = "display:inline"
}

function setDay(day,eltName) {
displayElement.value = ((displayMonth + 1).toString().length==1?'0'+(displayMonth + 1):(displayMonth + 1)) + "/" + (day.toString().length==1?'0'+day:day) + "/" + displayYear;
//document.getElementById("vipin").value=(displayMonth + 1) + "/" + day + "/" + displayYear;
//alert(document.getElementById("vipin").value);
hideElement(eltName);
//formElt.Style.Value = "display:inline"
}

