var firstYear = 2008;
var lastYear = 2011;
var firstMonth = 11;
var lastMonth = 12;
var limitedDates = true;
var showYear = false;



var calendarMenuItem = new Array
	(
	{ "textflag":"both", "day":1, "text1":"<b>ORIGINAL IDEA:</b> A custom card is a gift in itself. Make one at home or bring your ideas to <span class='ups'>The UPS Store", "text2":"</span> for a professional touch!" }, 
	{ "textflag":"both", "day":15, "text1":"<b>SPECIAL DELIVERY:</b> Trust the Certified Packing Experts at <span class='ups'>The UPS Store", "text2":"</span>." }, 
	{ "textflag":"both", "day":"end", "text1":"<b>DON'T FORGET:</b><br /><span class='ups'>The UPS Store", "text2":"</span> can package everything for you, saving you time during the busy holiday season. And if you're a last-minute holiday shopper, check out the delivery deadlines at <a href=\"http://www.theupsstore.com\" target=\"_blank\">theupsstore.com</a>. " }, 
	{ "textflag":"text1", "day":15, "text1":"We have the training, knowledge and experience, so we know exactly which packing technique will make sure your package arrives perfectly.", "text2":"" }
	);


// The Central Randomizer 1.3 (C) 1997 by Paul Houle (paul@honeylocust.com)
// See:  http://www.honeylocust.com/javascript/randomizer.html
// real: rnd();    integer: rand(someNumber)
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd() { rnd.seed = (rnd.seed*9301+49297) % 233280; return rnd.seed/(233280.0); };
function rand(number, ceiling) { return (ceiling) ?  Math.ceil(rnd()*number)  :  Math.floor(rnd()*number); };

var allDays = calendarMenuItem.length;

function pickRandomDays(range, ceiling)
	{
	var storeRandomOrder = new Array();
	for (x=0;x<allDays;x++)
		{
		storeRnd = storeRandomOrder.length;
		// for first number, there is nothing to compare, so just put number in array
		if (x==0) {  r = rand(range, ceiling); storeRandomOrder[x] = r; }
		// otherwise, start comparing to make sure no repeats
		else
			{
			repeat=true;
			while (repeat == true)
				{
				repeat = false;
				r = rand(range, ceiling);
				for (k=0;k<=storeRnd;k++) { if (r==storeRandomOrder[k] || r==25)  { repeat=true; } }
				storeRandomOrder[x] = r;
                }
			}	
		}
	return storeRandomOrder;
	}
	
	// -----------------------------------

/*
Source = http://examples.bappy.com/ (original source)
Description: Dynamic HTML Calendar (http://examples.bappy.com/examples/javascript_dhtml_calendar.html)
Author: Thomas Ballard
Copyright 2001  E.S.Q. Software  All Rights Reserved
Questions, Comments, Work? thomas@esqsoft.com
*/

// calSelect(); // Added by Proft

test= new Date(); // Added by Proft
this_day = test.getDate(); // Added by Proft
this_month = test.getMonth()+1; // Added by Proft
this_year = test.getYear(); // Added by Proft
this_year = (this_year<1900) ? this_year+1900 : this_year;

var monthname=new Array("Month","January","February","March","April","May","June","July","August","September","October","November","December");
var currentdate=new Date; 
var startday=new Date; 
todaydate=currentdate.getDate();
var monthnumber; 
var yearnumber; var daynumber;

function setupcalendar()
	{
	monthnumber=(currentdate.getMonth()+1);	
	yearnumber=(currentdate.getFullYear()); 
	daynumber=(currentdate.getDay());
	startday.setFullYear(currentdate.getFullYear()); 
	startday.setMonth(currentdate.getMonth()); 
	startday.setDate(1);
	var endday=31;
	switch(monthnumber)
		{
		case 4: case 6: case 9: case 11:	--endday; break;
		case 2: endday=29;	
		if ( (( yearnumber % 4 ) != 0) && ((yearnumber % 100)!=0) || ((yearnumber % 400)==0) ) { --endday; }
		}

	var str='<table border=1 bordercolor="#cccccc" cellpadding=2 cellspacing=0 width="100%" class="calendarContainer">\
	<tr><td colspan=7 class="navHeader"><table cellpadding=2 cellspacing=0 border=0 width=100% class="calendarNavigation"><tr>\
	<!--<td><input type="button" id="left" class="buttons" value="&lt;&lt;" onClick="prevyear(this);" onMouseover="mover(this);" onMouseout="mout(this);" onFocus="blur();"></td>-->\
	<!--<td><input type="button" id="left" class="buttons" value="&lt; Previous Month" onClick="prevmonth(this);" onMouseover="mover(this);" onMouseout="mout(this);" onFocus="blur();"></td>-->';

	if (monthnumber==this_month && yearnumber==this_year) 
		{ str+='<td width=100% id="month" class="month">'+monthname[monthnumber]+' '+yearnumber+'</td>'; }
	else str+='<td width=100% id="month" class="monthOther">'+monthname[monthnumber]+' '+yearnumber+'</td>';

	str+='<!--<td><input type="button" id="right" class="buttons" value="Next Month &gt;" onClick="nextmonth(this);" onMouseover="mover(this);" onMouseout="mout(this);" onFocus="blur();"></td>-->\
	<!--<td><input type="button" id="right" class="buttons" value="&gt;&gt;" onClick="nextyear(this);" onMouseover="mover(this);" onMouseout="mout(this);" onFocus="blur();"></td>-->\
	</tr></table></td></tr>'+ calendarHeader();

	var theday=0; 
	var daydrawn=0;

	var threeDays = new Array();
	threeDays = pickRandomDays(endday, true);
	var whichOrder = new Array();
	whichOrder  = pickRandomDays(calendarMenuItem.length);

	var flagRegMark=false;
	var regMark="";

	for (var indexy=0; indexy<6; indexy++)
		{
		str+='<tr valign="top">';

		
		for (var indexx=0; indexx<7; indexx++)
			{ 
			if ((theday<1)&&(indexx==startday.getDay())) { theday=1; }
			
			
			
			
			if (     (theday==todaydate)&&(theday<=endday)&&(!daydrawn)&&(monthnumber==this_month)&&(yearnumber==this_year) || (theday==25 && monthnumber==12)       )
				{daydrawn=1; str+='<td class="today">'; } // added by Proft to highlight current date in current year only
			else if (theday>endday || theday<1) { str+='<td class="nada">&nbsp;'; } // added by Proft
			else  { str+='<td class="day">'; }  // Mouse events deleted by Proft	
			if ((theday>0)&&(theday<=endday)) 
				{ 
				newDay = theday++
				str+= "<div class=\"calendarDay\">" + newDay + "</div>"; 
				blankSpace=true;
				//alert(calendarMenuItem.length);
				for (y=0;y<calendarMenuItem.length;y++)
					{  
					// if this day  = one of the random days picked then add UPS content
					if ( threeDays[y] == newDay  )       /* ||  (newDay==endday && calendarMenuItem[y]["day"] =="end") */
						{
						// if this is the first mention of "the ups store"
						// place a "&reg;" mark after the word.
						if (  calendarMenuItem[whichOrder[y]]["textflag"]=="both"   && flagRegMark==false  )
							{
							flagRegMark=true;
							regMark="<sup>&reg;</sup>";
							}
						else { regMark=""; }
				
						// construct the UPS content for the randomly selected day
						str+= "<p>" + calendarMenuItem[whichOrder[y]]["text1"] + regMark + calendarMenuItem[whichOrder[y]]["text2"] + "</p>"; blankSpace=false; 
						}    
					}
				if (blankSpace) { str+= "<p>&nbsp;</p>";  }
				}
			str+='</td>';
			}
		str+='</tr>';
		if (theday>endday) { indexy=6; }
		}
	str+='</table>';
	document.getElementById("calendar").innerHTML = str;
	return;
	}


function calendarHeader()
	{
	var header="<tr>";
	var dayHeader=new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
	for (x=0;x< dayHeader.length;x++)
		{ header += "<td class=\"weekday\">"+ dayHeader[x] + "</td>"; }
	header += "</tr>";
	return header;
	}


function mover(a)
	{
	if (a.innerHTML!='&nbsp;')
		{
		tempb=a.style.backgroundColor; tempf=a.style.color;
		a.style.backgroundColor="#F5BD1E";	a.style.color="#3C0B02"; // 775555
        }
	}


function mout(a)
	{
	if (a.innerHTML!='&nbsp;')
		{ a.style.backgroundColor=tempb; a.style.color=tempf; }
	}


function prevmonth()
	{
	tempyear=yearnumber;
	tempmonth = monthnumber;
	
	if (tempmonth>1) { --tempmonth; }
	else { tempmonth=12; tempyear--;	 }
	
	if ( (tempyear>=firstYear) || ( tempyear==firstYear && monthnumber!=1)   )
		{	
		
		if (monthnumber>1) { --monthnumber; }
		else {monthnumber=12; --yearnumber;}
	
		currentdate.setMonth(monthnumber-1);
		currentdate.setFullYear(yearnumber);

		var monthBegin = (limitedDates) ? (firstMonth-1) : 0;
		var monthEnd = (limitedDates) ? (lastMonth-1) : 12;
		
	
	
		for (var i=monthBegin;i<monthEnd;i++) 
			{
			if (document.date_list.month.options[i].value == monthnumber-1)
				{ document.date_list.month.options[i].selected = true; }
    	    }
		if (showYear)
			{
			for (var i=0;i< document.date_list.year.length;i++) 
				{
				if (document.date_list.year.options[i].value == yearnumber)
					{ document.date_list.year.options[i].selected = true; }
    		    }
		
			}
		setupcalendar();
		}
	//else { return false; }
	}

function nextmonth()
	{
	tempyear=yearnumber;
	tempmonth = monthnumber;

	if (tempmonth<12) { ++tempmonth; }
	else {tempmonth=1; ++tempyear;}

	if ( (tempyear<=lastYear) || ( tempyear==lastYear && monthnumber!=12)   )
		{	

		if (monthnumber<12) { ++monthnumber; }
		else {monthnumber=1; ++yearnumber;}

		currentdate.setFullYear(yearnumber);
		currentdate.setMonth(monthnumber-1);


		var monthBegin = (limitedDates) ? (firstMonth-1) : 0;
		var monthEnd = (limitedDates) ? (lastMonth-1) : 12;

		for (var i=monthBegin;i<monthEnd;i++) 
			{
			if (document.date_list.month.options[i].value == monthnumber-1)
				{ document.date_list.month.options[i].selected = true; }
        	}
		if (showYear)
			{
			for (var i=0;i< document.date_list.year.length;i++) 
				{
				if (document.date_list.year.options[i].value == yearnumber)
					{ document.date_list.year.options[i].selected = true; }
	    	    }
	    	}
	        setupcalendar();
		}
	}

function prevyear()
	{
	--yearnumber;
	currentdate.setFullYear(yearnumber);
	for (var i=0;i< document.date_list.year.length;i++) 
		{
		if (document.date_list.year.options[i].value == yearnumber)
           { document.date_list.year.options[i].selected = true; }
		}
	setupcalendar();
	}

function nextyear()
	{
	++yearnumber;
	currentdate.setFullYear(yearnumber);
	
	for (var i=0;i< document.date_list.year.length;i++) 
		{
		if (document.date_list.year.options[i].value == yearnumber)
            { document.date_list.year.options[i].selected = true; }
        }
	setupcalendar();
	}





// <!-- The script below and many more are available free online at -->
// <!-- The JavaScript Source!! http://javascript.internet.com -->
// <!-- Original:  Scriptbreaker (pieterpareit@hotmail.com ) -->
// <!-- Web Site:  http://www24.brinkster.com/scriptbreaker -->

function calSelect() // Modified by Proft
	{
	var now = new Date();
	var month_array = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	document.write("<form name=date_list><table border=0 class='monthNavTable' align='center'><tr><td><select name=month onchange=change_month(this.options[this.options.selectedIndex].value)>"); // change_month()


		var monthBegin = (limitedDates) ? (firstMonth-1) : 0;
		var monthEnd = (limitedDates) ? (lastMonth) : 12;


	for(i=monthBegin;i<monthEnd;i++)
		{
		
		if (now.getMonth() != i)
			{document.write("<option value="+i+">"+month_array[i]);}
		else
			{
			document.write("<option value="+i+" selected>"+month_array[i]); 
			monthnumber=i;
			}
		}
	document.write("</select></td>");	
	if (showYear)
		{
		document.write("<td><select name=year onchange=change_year(this.options[this.options.selectedIndex])>");
	
		for(i=firstYear;i<=lastYear;i++)
			{
			if (now.getYear() != i)
				{ document.write("<option value="+i+">"+i); }
			else
				{ 
				document.write("<option value="+i+" selected>"+i); 
				yearnumber=i; 
				}
			}
		document.write("</select></td>");
		}
	document.write("<td class=\"printMe\"><a href=\"#\" onclick=\"window.print();\">print<img src=\"images/my_occasions_organizer/print.gif\" alt=\"\" width=\"18\" height=\"12\" border=\"0\" /></a></td></tr></table></form>");
	}
	

var show_date = new Date();

function change_month(sel_month)
	{
	monthnumber=sel_month; sel_month=monthnumber;
	currentdate.setFullYear(yearnumber);
	currentdate.setMonth(monthnumber);
	setupcalendar();
	return;
	}

function change_year(sel_year)
	{
	sel_year=sel_year.value;
	yearnumber=sel_year;
	currentdate.setFullYear(sel_year);
	setupcalendar();
	}






