var day = "";
var month = "";
var year = "";

function showPicker(id) {
	document.getElementById(id.replace('picker','')).focus();
	document.getElementById(id.replace('picker','')).blur();
   if (document.getElementById(id).style.display == "block")
   {
	   document.getElementById(id).style.display = "none";
   } else {
	   document.getElementById(id).style.display = "block";
   }
}

function hidePicker(id) {
   document.getElementById(id).style.display = "none";
}

function getDay(dayid,Day,month,year,dateid) {
   if (month == "" || year == "" || month == "Month" || year == "Year") {
     alert("Please choose the Month and Year first");
     return false;
   } else {
     day = Day;
	 var currentdayId = 0;
	 currentdayId = document.getElementById(dateid+'Selected').value;
	 if(currentdayId!=0) document.getElementById(currentdayId).style.color = document.getElementById(dateid+'picker'+day).style.color;
	 document.getElementById(dateid+'Selected').value = dateid+'picker'+day;
	 document.getElementById(dateid+'picker'+day).style.color = '#000000';	 
	 /*
	 if (month<= 9) {
  		month = "0" + month.toString();
	 }*/
	 if (day<= 9) {
  		day = "0" + day.toString();
	 }

	 var datestring = day + " " + month + " " + year;
	 //document.getElementById(dateid).value = datestring;
	 replaceVal(dateid,datestring);
	 hidePicker(dateid+'picker');

   }
}

function calcPost(month,year,prefix) {
}

function getPrevious(month,year,prefix,numdays) {
	var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	var monthsdays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    prevyear = -10;
	nextyear = -10;
	for (x = 0; x < months.length; x++) {
		 if (months[x] == month) {
			previousmonth = x-1;
			thismonth = x;
			nextmonth = x+1;
			if (previousmonth == -1) { previousmonth = 11; prevyear=year-1; }
			if (nextmonth == 12) { nextmonth = 0; nextyear=year+1; }
		 }
	}
	if(prevyear==-10) prevyear = year;
	if(nextyear==-10) nextyear = year;
	previousdays=monthsdays[previousmonth];
	nextdays=monthsdays[nextmonth];
	nextdays=monthsdays[nextmonth];
	thisdays=monthsdays[thismonth];
	if (checkLeapYear(prevyear)&& previousmonth == 1) previousdays = 29;
	if (checkLeapYear(nextyear)&& nextmonth == 1) nextdays = 29;
	if (checkLeapYear(year)&& thismonth == 1) thisdays = 29;
	var thisdate = new Date(year,thismonth,1);
	//alert(thisdate+"  "+thisdate.getDay());
	
	startblanks = String();
	endblanks = String();
	var numdays = thisdate.getDay(); if (numdays == 0) numdays = 7;
	monthSel = prefix.replace('picker','')+'month';
	yearSel = prefix.replace('picker','')+'year';
	prevmonthstr = months[previousmonth];
	nextmonthstr = months[nextmonth];
	dtbox = prefix.replace('picker','');
	if (numdays==1) loop = 8; else loop = numdays;
	offset = 43-thisdays-loop;
	for (x = 1; x < loop; x++) {
		countback = (previousdays+1-(loop-x));
		dayid = prefix+countback.toString();
		startblanks+='<a style="color:#CCCCCC" href="#" class="dateunlive" onClick="getDay(\''+dayid+'\',\''+countback+'\',\''+prevmonthstr+'\',\''+prevyear+'\',\''+dtbox+'\'); updateVal(\''+monthSel+'\', \''+prevmonthstr+'\'); updateVal(\''+yearSel+'\', \''+prevyear+'\'); document.getElementById(\''+monthSel+'\').onchange();">'+countback+'</a>';
	}
	for (x = 1; x <= offset; x++) {
		dayid = prefix+x.toString();
		endblanks+='<a style="color:#CCCCCC" href="#" class="dateunlive" onClick="getDay(\''+dayid+'\',\''+x+'\',\''+nextmonthstr+'\',\''+nextyear+'\',\''+dtbox+'\'); updateVal(\''+monthSel+'\', \''+nextmonthstr+'\'); updateVal(\''+yearSel+'\', \''+nextyear+'\'); document.getElementById(\''+monthSel+'\').onchange();">'+x+'</a>';
	}
	//alert(startblanks);
	document.getElementById(prefix+"daysbefore").innerHTML = startblanks;	
	document.getElementById(prefix+"daysafter").innerHTML = endblanks;	
}

function getMonth(month,year,prefix) {
   getPrevious(month,year,prefix);
   if (month == "April" || month == "June" || month == "September" || month == "November") 
   {
   		var unday = document.getElementById(prefix+"31");
   		unday.style.display = 'none';
	 	var newday1 = document.getElementById(prefix+"30");
	 	var newday2 = document.getElementById(prefix+"29");
	 	newday1.style.display = 'block';
	 	newday2.style.display = 'block';
   } else if (month == "February") {
		  var unday1 = document.getElementById(prefix+"31");
		  var unday2 = document.getElementById(prefix+"30");
		  var unday3 = document.getElementById(prefix+"29");
			unday1.style.display = 'none';
			unday2.style.display = 'none';
			unday3.style.display = 'none';
		  if (checkLeapYear(year)) 
		  {
			  unday3.style.display = 'block';
		  }
	} else if (month == "January" || month == "March" || month == "May" || month == "July" || month == "August" || month == "October" || month == "December") { 
	   var newday1 = document.getElementById(prefix+"31");
	   var newday2 = document.getElementById(prefix+"30");
	   var newday3 = document.getElementById(prefix+"29");
	   newday1.style.display = 'block';
	   newday2.style.display = 'block';
	   newday3.style.display = 'block';
 	}
	
}

function getYear(month,year,prefix) {
	leapday = document.getElementById(prefix+"29");
    if (checkLeapYear(year)) {
	  if (month == "February") {
		leapday.style.display = 'block';
	  }
	} else {
	  if (month == "February") {
		  leapday.style.display = 'none';
	  }
	}
}

function fetchVal(lbl) {
var option = document.getElementById(lbl).selectedIndex;
    return document.getElementById(lbl).options[option].text;	
}

function updateVal(lbl,val) { 
var sel = document.getElementById(lbl);
	for (var i=0; i<sel.options.length; i++) {
		if(sel.options[i].text == val) sel.selectedIndex = i;
	}
}

function replaceVal(lbl,val) {
var option = document.getElementById(lbl).selectedIndex;
	document.getElementById(lbl).options[option].value = val;
	document.getElementById(lbl).options[option].text = val;	
}

function checkLeapYear(yr)
{
	yr = parseInt(yr);
	if(yr%4 == 0)
	{
		if(yr%100 != 0) return true;
		else
		{
			if(yr%400 == 0) return true;
			else return false;
		}
	}
	return false;
}

