function showScheduleCalendar(selDate,targetDiv,returnFunction,calendarType,scheduledOrderIden) {
	//selDate = the selected Date on the calendar
	//returnFunction = what function to fire when done
	//targetDiv = what div to move the calendar to.

	//determine x & y coordinates of supplied div tag: targetDiv
	var TextMessage = "";
	calType = calendarType;
	origDiv = document.getElementById(targetDiv);
	
	if (scheduledOrderIden != null && calendarType == 'new') {
		TextMessage = (ExpressLinkJsMessage[0]) ? ExpressLinkJsMessage[0] : "This action will delete the order you were modifying because your changes have not been saved.  Click OK to proceed or Cancel to complete your previous order.";
		confirmVal = confirm(TextMessage);
	} else {
		confirmVal = true;
	};
	
	if (confirmVal == false) {
		return;
	};
	
	TPos = (findPosY(origDiv) + 10) + 'px';
	LPos = (findPosX(origDiv)) + 'px';
	
	if(targetDiv.indexOf('calImage_spacer')>=0){
		TPos = yMousePos - 100;
	};
	
	if (returnFunction != null){
		if(returnFunction == 'setDateNewOrder'){
			document.getElementById('btnDatePickerDone').onclick = new Function("cleanFutureProducts('"+returnFunction+"', 0)");
		}else{
			document.getElementById('btnDatePickerDone').onclick = new Function("saveEmailAddress();"+returnFunction+"();");
		};
	};
	//buildCalendar(new Date(selDate));
	showDTPick(TPos,LPos,selDate);
	
	currentDate = currentDateGlobal;
	newDateArray = selDate.split(',');
	testDate = new Date(newDateArray[0], newDateArray[1]-1, newDateArray[2]);
	
	currentDateString = currentDate.getFullYear() + ', ' + currentDate.getMonth() + ', ' + currentDate.getDate();
	testDateString = testDate.getFullYear() + ', ' + (testDate.getMonth()+1) + ', ' + testDate.getDate();
	//alert(testDateString + "\n" + currentDateString);
	if(calendarType == 'new' && currentDateString != testDateString) {
		testDateString = new Date(testDate.getFullYear(), (testDate.getMonth()+1), testDate.getDate(), 0,0,0);
		changedDate = false;
		//alert(testDate);
		while(!CurrentCalendar_1.canOrderOnDate(testDateString)) {
			testDate.setMilliseconds(24*60*60*1000);  //Advance a day
			testDateString = new Date(testDate.getFullYear(), (testDate.getMonth()+1), testDate.getDate(), 0,0,0);
			changedDate = true;
			//alert(testDateString);
		};
		if(changedDate){
			selDate = testDate.getFullYear() + ', ' + (testDate.getMonth()+1) + ', ' + testDate.getDate();
			//alert(selDate);
		};
	};
	showDTPick();
	showDTPick(TPos,LPos,selDate);
	
	
	currentDateString = currentDate.getMonth() + '/' + currentDate.getDate() + '/' + currentDate.getFullYear();
	if(calendarType == 'new' && selDate == currentDateString && !CurrentCalendar_1.currentMonthUsable) {
		setMonthNext();
	};
};
function cleanFutureProducts(rtnFct,SaveCart){
	var curDate = document.getElementById('txtOrderDate').value;
	//alert(curDate);
	DWREngine.setVerb("POST");
	DWREngine._execute(_rsPath, null, 'cleanFutureProducts', curDate, rtnFct, SaveCart, rtnCleanFutureProducts);
};
function rtnCleanFutureProducts(co){
	if(co.ERROR==1){
		showDTPick();
		curFctCall = co.RTNFCT;
		msgFutureDisp(co.MSG);
		return;
	}else if(co.ERROR==2){
		//now
		showDTPick();
		return;
	};
	saveEmailAddress();
	eval(co.RTNFCT+"()");
	//setTimeout('refreshMiniCart()', 500);
	//if(window.location.href.toLowerCase().match('ps.shoppingcart') != -1){
	//	setTimeout('getShoppingCart()', 1000);
	//}
};
function processCleanFutureProducts(){
	saveEmailAddress();
	eval(curFctCall+"()");
	showDTPick();
	//setTimeout('refreshMiniCart()', 500);
	//if(window.location.href.toLowerCase().match('ps.shoppingcart') != -1){
	//	setTimeout('getShoppingCart()', 1000);
	//}
};
function getShoppingCart(){
	Ctype='SCart';
	DWREngine.setVerb("GET");
	DWREngine._execute(_rsPath, null, 'addProd', '', '', Ctype, '', 0, 0, GenCart);				
};
function msgFutureDisp(oBody){
	document.getElementById('divMsgCarttxt').innerHTML = oBody;
	MM_showHideLayers('divMessage','','show');
	hideElement("SELECT",'maincontent');
	return;
};
function saveEmailAddress() {
	if (document.getElementById('calendarEmailAddress').value != curEmail) {
		DWREngine.setVerb("POST") ;
		//_rsPath='/ps/rsAjax.cfm';
		DWREngine._execute(_rsPath, null, 'setEmail', document.getElementById('calendarEmailAddress').value, curEmail, nullfunction) ;
	};
};
function nullfunction() {
};
function getDaysInMonth(iMonth,iYear){
	var dPrevDate=new Date(iYear,iMonth,0);
	return dPrevDate.getDate();
};
function buildCalCells(iYear,iMonth,iDayStyle){
	for(x=0;x<7;x++){
		this.aryCells[x]=new Array(7);
	};
	var dCalDate=new Date(iYear,iMonth-1,1);
	var iDayOfFirst=dCalDate.getDay();
	var iDaysInMonth=getDaysInMonth(iMonth,iYear);
	var iVarDate=1;
	var i, d, w;
	for(w=1;w<7;w++){
		for(d=0;d<7;d++){
			iVarDate=(w==1&&d<iDayOfFirst) ? 0:iVarDate;
			if(iVarDate<=iDaysInMonth){
				this.aryCells[w][d]=iVarDate;
			}else{
				this.aryCells[w][d]=0;
			};
			iVarDate++;
		};
	};
};
function WebCalendar(calParamObj_){
	this.objName = calParamObj_.sObjName;
	this.htmlToWrite = new String();
	this.aryCells = new Array();
	//this.dDate = new Date()
	this.dDate = new Date(calParamObj_.iYear, calParamObj_.iMonth, calParamObj_.selDate, 0, 0, 0);
	this.dcurMonth = calParamObj_.iMonth - 1;
	this.dSelYear = calParamObj_.iYear;
	this.dSelMonth = calParamObj_.iMonth;
	this.dSelDay = calParamObj_.selDate;
	this.dateFld = calParamObj_.dateFld;
	this.dSelDate = currentDateGlobal;
	this.iDayStyle = calParamObj_.iDayStyle;
	this.dCurMonth = this.dDate.getMonth();
	this.dCurDayOfMonth = this.dDate.getDate();
	this.dCurYear = this.dDate.getFullYear();
	this.objToFill = calParamObj_.objToFill;
	this.limitHistoricalInput = calParamObj_.limitHistoricalInput;
	this.noOrdersOnDate = calParamObj_.noOrdersOn;
	
	this.dayStyles = new Array(4);

	this.dayStyles[0] = [];
	this.dayStyles[0][0] = (ExpressLinkJsMessage[1]) ? ExpressLinkJsMessage[1] : "Sun";
	this.dayStyles[0][1] = (ExpressLinkJsMessage[2]) ? ExpressLinkJsMessage[2] : "Mon";
	this.dayStyles[0][2] = (ExpressLinkJsMessage[3]) ? ExpressLinkJsMessage[3] : "Tue";
	this.dayStyles[0][3] = (ExpressLinkJsMessage[4]) ? ExpressLinkJsMessage[4] : "Wed";
	this.dayStyles[0][4] = (ExpressLinkJsMessage[5]) ? ExpressLinkJsMessage[5] : "Thu";
	this.dayStyles[0][5] = (ExpressLinkJsMessage[6]) ? ExpressLinkJsMessage[6] : "Fri";
	this.dayStyles[0][6] = (ExpressLinkJsMessage[7]) ? ExpressLinkJsMessage[7] : "Sat";

	this.dayStyles[1] = [];
	this.dayStyles[1][0] = (ExpressLinkJsMessage[8]) ? ExpressLinkJsMessage[8] : "Sunday";
	this.dayStyles[1][1] = (ExpressLinkJsMessage[9]) ? ExpressLinkJsMessage[9] : "Monday";
	this.dayStyles[1][2] = (ExpressLinkJsMessage[10]) ? ExpressLinkJsMessage[10] : "Tuesday";
	this.dayStyles[1][3] = (ExpressLinkJsMessage[11]) ? ExpressLinkJsMessage[11] : "Wednesday";
	this.dayStyles[1][4] = (ExpressLinkJsMessage[12]) ? ExpressLinkJsMessage[12] : "Thursday";
	this.dayStyles[1][5] = (ExpressLinkJsMessage[13]) ? ExpressLinkJsMessage[13] : "Friday";
	this.dayStyles[1][6] = (ExpressLinkJsMessage[14]) ? ExpressLinkJsMessage[14] : "Saturday";
	
	this.dayStyles[2] = [];
	this.dayStyles[2][0] = (ExpressLinkJsMessage[15]) ? ExpressLinkJsMessage[15] : "Su";
	this.dayStyles[2][1] = (ExpressLinkJsMessage[16]) ? ExpressLinkJsMessage[16] : "Mo";
	this.dayStyles[2][2] = (ExpressLinkJsMessage[17]) ? ExpressLinkJsMessage[17] : "Tu";
	this.dayStyles[2][3] = (ExpressLinkJsMessage[18]) ? ExpressLinkJsMessage[18] : "We";
	this.dayStyles[2][4] = (ExpressLinkJsMessage[19]) ? ExpressLinkJsMessage[19] : "Th";
	this.dayStyles[2][5] = (ExpressLinkJsMessage[20]) ? ExpressLinkJsMessage[20] : "Fr";
	this.dayStyles[2][6] = (ExpressLinkJsMessage[21]) ? ExpressLinkJsMessage[21] : "Sa";

	this.dayStyles[3] = []
	this.dayStyles[3][0] = (ExpressLinkJsMessage[22]) ? ExpressLinkJsMessage[22] : "S"
	this.dayStyles[3][1] = (ExpressLinkJsMessage[23]) ? ExpressLinkJsMessage[23] : "M"
	this.dayStyles[3][2] = (ExpressLinkJsMessage[24]) ? ExpressLinkJsMessage[24] : "T"
	this.dayStyles[3][3] = (ExpressLinkJsMessage[25]) ? ExpressLinkJsMessage[25] : "W"
	this.dayStyles[3][4] = (ExpressLinkJsMessage[43]) ? ExpressLinkJsMessage[43] : "T"
	this.dayStyles[3][5] = (ExpressLinkJsMessage[26]) ? ExpressLinkJsMessage[26] : "F"
	this.dayStyles[3][6] = (ExpressLinkJsMessage[42]) ? ExpressLinkJsMessage[42] : "S"
	
	this.months = [];
	this.months[0] = (ExpressLinkJsMessage[27]) ? ExpressLinkJsMessage[27] : "January";
	this.months[1] = (ExpressLinkJsMessage[28]) ? ExpressLinkJsMessage[28] : "February";
	this.months[2] = (ExpressLinkJsMessage[29]) ? ExpressLinkJsMessage[29] : "March";
	this.months[3] = (ExpressLinkJsMessage[30]) ? ExpressLinkJsMessage[30] : "April";
	this.months[4] = (ExpressLinkJsMessage[31]) ? ExpressLinkJsMessage[31] : "May";
	this.months[5] = (ExpressLinkJsMessage[32]) ? ExpressLinkJsMessage[32] : "June";
	this.months[6] = (ExpressLinkJsMessage[33]) ? ExpressLinkJsMessage[33] : "July";
	this.months[7] = (ExpressLinkJsMessage[34]) ? ExpressLinkJsMessage[34] : "August";
	this.months[8] = (ExpressLinkJsMessage[35]) ? ExpressLinkJsMessage[35] : "September";
	this.months[9] = (ExpressLinkJsMessage[36]) ? ExpressLinkJsMessage[36] : "October";
	this.months[10] = (ExpressLinkJsMessage[37]) ? ExpressLinkJsMessage[37] : "November";
	this.months[11] = (ExpressLinkJsMessage[38]) ? ExpressLinkJsMessage[38] : "December";
	
	this.createSelects = createSelects;
	this.createCal = createCal;
	this.createCells = buildCalCells;
	this.setDate = setSelectedDate;
	this.selectChange = selectChange;
	this.setCurrentDate = setCurrentDate;
	this.fillDateFld = fillDateFld;
	this.canOrderOnDate = canOrderOnDate;
	this.createSelects();
	this.createCal(calParamObj_.iYear,calParamObj_.iMonth,calParamObj_.iDayStyle,calParamObj_.selDate);
	this.setCurrentDate();
//					this.goNextMonth()
};

function goNextMonth(){
	//alert(1);
	//this.dCurMonth = this.dCurMonth1;
	//alert(1);
	//this.createCal(calParamObj_.iYear,calParamObj_.iMonth,calParamObj_.iDayStyle,calParamObj_.selDate);
	//alert(1);
};

function createSelects() {
	var htmlToWrite=new String();
	//	htmlToWrite+="<select id='selMonth' style='font : xx-small;' onchange='"+this.objName+".selectChange()'>"
	//	for(m=0;m<12;m++){
	//		htmlToWrite+="<option value='"+(m+1)+"' >"+this.months[m]+"</option>"
	//	}
	//	htmlToWrite+="</select>"
	//	htmlToWrite+="<select id='selYear' style='font : xx-small;' onchange='"+this.objName+".selectChange()'>"
	//	var tempYear=this.dCurYear
	//	for(y=-100;y<1;y++){
	//		var optYear=tempYear+y
	//		htmlToWrite+= "<option value='"+optYear+"'>"+optYear+"</option>"
	//	}
	//	htmlToWrite+="</select>"
	//	this.htmlToWrite=htmlToWrite
};

function canOrderOnDate(oDate){
	
	var sNoOrdersOnArr = this.noOrdersOnDate.split(',');
	var nowDate = dtNowDate;
	var tDate = new Date(oDate);
	var tDateString = (tDate.getMonth() + 1) + '/' + tDate.getDate() + '/' + tDate.getFullYear();
	if(tDate.getDate() == nowDate.getDate() && tDate.getMonth() == nowDate.getMonth() && tDate.getFullYear() == nowDate.getFullYear()) {
		return true;
	} else if(this.noOrdersOnDate.indexOf(tDateString) > -1) {
		return false;
	} else if(tDate < nowDate) {
		return false;
	}else {
		return true;
	};
	
};

function displayAdv(sText,sDay) {
	document.getElementById("advText").innerHTML = sText;
	document.getElementById("advDay").innerHTML = sDay;
};

function createCal(iYear,iMonth,iDayStyle,iCurrentDay){
	var myMonth;
	var iDay;
	var setClass;
	var htmlToWrite=new String();
	var tstToday = dtNowDate;
	tstToday.setHours(0);
	tstToday.setMinutes(0);
	tstToday.setSeconds(0);
	tstToday.setMilliseconds(0);
	this.currentMonthUsable = false;
	this.createCells(iYear,iMonth,iDayStyle);

	
	//htmlToWrite="<div id="+this.objToFill.id+"><table border=1 width=100% bordercolor=FFFFFF cellpadding=0 cellspacing=0>"
	htmlToWrite="<table border=0 width=100% bordercolor=#FFFFFF cellpadding=0 cellspacing=0 class='txt_small'>";
	htmlToWrite+="<tr bgcolor=white>";
	for(d=0;d<7;d++){
		htmlToWrite+="<td class='txt_small' align=center style='border-bottom: 1px solid #999999; width: 2px'>" + this.dayStyles[iDayStyle][d]+"</td>";
	};
	htmlToWrite+="</tr>";
	for(w=1;w<7;w++){
		htmlToWrite+="<tr>";
		for(d=0;d<7;d++){
			iDay=this.aryCells[w][d];
			htmlToWrite+="<td ";
			if(iDay>0){
				selectedOrderDate = new Date(this.dateFld.value);
				tstWriteDate = new Date(iYear, iMonth-1, iDay, 0,0,0);
				dateString = calendarDateStringFormat(tstWriteDate,false);
				//alert((iYear == selectedOrderDate.getFullYear()) +" && "+ (iMonth-1 == selectedOrderDate.getMonth()) +" && "+ (iDay == selectedOrderDate.getDate()));
				if (iYear == selectedOrderDate.getFullYear() && iMonth-1 == selectedOrderDate.getMonth() && iDay == selectedOrderDate.getDate()) {
					setClass = 'box_highlight';
				//} else if (iCurrentDay == iDay) {
				//	setClass = 'orange_txt';
				} else {
					setClass = '';
				};
				
				htmlComplex=" align=center><a href='javascript:;' class=Green> " +
							"<div  " +
							"onclick='" + this.objName + 
							".setDate(this);selAdv = advDollarArray["  + iDay + "]; setOrderDate = \"" + dateString + "\";" + this.objName + 
							".selectChange();' return false;' " +
							"onmouseover='displayAdv(\"" + advDollarArray[iDay] + "\",\"" + dateString +"\");' " + 
						"id='" + iDay + "calDate' class='" + setClass + "' style='padding: 3px; text-decoration: underline;'>" + iDay + 
						"</div></a>";
						
				htmlSimple = " align=center onmouseover='return createBubble(this, \"calBubbleHTML\", \"calBubbleTail\", 1,0,-10,15,9,\"DELAY\",500);' onmouseout='nd();'>" +
							"<div class='" + setClass + "' style='padding: 3px; color:#999999; background-color:#eaeaea;cursor:default;'>" + iDay + "</div>";
				
				
				if(this.limitHistoricalInput){
					if(tstWriteDate >= tstToday){
						if(this.canOrderOnDate(tstWriteDate)){
							htmlToWrite+=htmlComplex;
							this.currentMonthUsable = true;
						}else{
							htmlToWrite+=htmlSimple;
						};
					}else{
						htmlToWrite+=htmlSimple;
					};
				}else{
					if(this.canOrderOnDate(tstWriteDate)){
						htmlToWrite+=htmlComplex;
						this.currentMonthUsable = true;
					}else{
						htmlToWrite+=htmlSimple;
					};
				};
				
			}else{
				if(iDay<31) htmlToWrite+=" bgcolor=white align=center>&nbsp;";
				
			};
			htmlToWrite+="</td>";
		};
		htmlToWrite+="</tr>";
	};
	//htmlToWrite+="</table></div>"
	htmlToWrite+="</table>";
	this.htmlToWrite+=htmlToWrite;
	//var calDiv=document.getElementById("calendar")
	var calDiv=this.objToFill;
	if(calDiv){
		//outerHTML is not supported by Firefox!
		//calDiv.outerHTML=this.htmlToWrite;
		calDiv.innerHTML=this.htmlToWrite;
	}else{
		document.write(this.htmlToWrite);
	};
	// write out the date at the top of the calendar.
	
	document.getElementById('spanOrderMonth').innerHTML = this.months[iMonth-1] + ' ' + iYear;
};
function setCurrentDate(){
	var selYear=document.getElementById("selYear");
	var selMonth=document.getElementById("selMonth");
	if(selYear && selMonth){
		selMonth.options[this.dSelMonth-1].selected=true;
		for(i=0;i<selYear.length;i++){
			var iYearVal=selYear.options[i].value;
			if(parseInt(iYearVal)==this.dSelYear){
				selYear.options[i].selected=true;
			};
		};
	};
};
function selectChange(){
	var objSelYear=document.getElementById("hidselYear");
	var objSelMonth=document.getElementById("hidselMonth");
	this.htmlToWrite="";
	this.dSelDay=null;
	this.dSelDate=currentDateGlobal;
	this.dSelYear=objSelYear.value;
	this.dSelMonth=objSelMonth.value;
	this.createCal(this.dSelYear,this.dSelMonth,this.iDayStyle);
};
function setSelectedDate(obj){
	var iDay=parseInt(obj.id);
	this.dSelDay=iDay;
	this.dSelDate=new Date(this.dSelYear,this.dSelMonth-1,iDay);
	//alert(this.dSelDate);
	this.fillDateFld();
	
};
function fillDateFld(){
	//var dateObj=new Date(this.dSelYear, this.dSelMonth, this.dSelDay);//+"/"+this.dSelYear);
//					this.objToFill.value=sDispDate;
	this.dateFld.value = calendarDateFieldFormat(this.dSelDate);	//sDispDate;
	
	document.getElementById('displayChosenDate').innerHTML = calendarDateStringFormat(this.dSelDate,true); //monthsArray[this.dSelMonth-1].substr(0,3) + ". " + this.dSelDay + ", " + this.dSelYear;
	
	//alert(this.dateFld.value);
	//hidelayer();
};
function hidelayer(){
	//cur_Div.style.visibility='hidden';
};
function showDTPick(){
	showDTPick(null, null, null);
};

function calendarDateStringFormat(dateObj,showToday) {
	var currentDate = currentDateGlobal;
	if(currentDate.getMonth() == dateObj.getMonth() && currentDate.getDate() == dateObj.getDate() && currentDate.getFullYear() == dateObj.getFullYear() && showToday) {
		dateString = 'Today';
	} else {
		if((curCountry==1) || (curCountry==2)){
			dateString = monthsArray[dateObj.getMonth()].substr(0,3) + ". " + dateObj.getDate() + ", " + dateObj.getFullYear();
		}else{
			dateString = dateObj.getDate() + " " + monthsArray[dateObj.getMonth()].substr(0,3) + ". " + dateObj.getFullYear();
		};
	};
	return dateString;
};

function calendarDateFieldFormat(dateObj) {
	var tmpMonth=dateObj.getMonth()+1;
	if(tmpMonth<10){
		tmpMonth="0"+tmpMonth;
	};
	var tmpDay=dateObj.getDate();
	if(tmpDay<10){
		tmpDay="0"+tmpDay;
	};
	dateString = tmpMonth + "/" + tmpDay + "/" + dateObj.getFullYear();
	return dateString;
};
function showDTPick(tPos, lPos, selDate){
	var dtDiv = getElement('dvDTPick');
	var currentDate = currentDateGlobal;
	var newDateArray = '';
	if (selDate != null) {
		newDateArray = selDate.split(',');
	} else {
		newDateArray[0] = currentDate.getFullYear();
		newDateArray[1] = currentDate.getDate();
		newDateArray[2] = currentDate.getMonth();
	};
	
	if(dtDiv.style.display == 'block'){
		dtDiv.style.display = 'none';
		showElement("SELECT");
	}else{
		if(tPos == null){
			tPos = yMousePos;
		};
		if(lPos == null){
			lPos = xMousePos;
		};
		
		if(selDate != null) {
			currentDate = new Date(newDateArray[0], newDateArray[1], newDateArray[2]);
		};
		
		selAdv = advDollarArray[currentDate.getDate()];
		setOrderDate = calendarDateStringFormat(currentDate,false);//monthsArray[currentDate.getMonth()].substr(0,3) + ". " + currentDate.getDate() + ", " + currentDate.getFullYear();
		displayAdv(selAdv,setOrderDate);
		document.getElementById('txtOrderDate').value = calendarDateFieldFormat(currentDate);//currentDate.getMonth()+1+'/'+currentDate.getDate()+'/'+currentDate.getFullYear();
		//alert(document.getElementById('txtOrderDate').value);
		if(document.getElementById('txtOrderDate').value != sNowDate) {
			document.getElementById('displayChosenDate').innerHTML = setOrderDate;
			//alert('Not Today: ' + selDate);
		} else {
			//alert('Today: ' + selDate);
			document.getElementById('displayChosenDate').innerHTML = ExpressLinkJsMessage[44];
		};
		dtDiv.style.display = 'block';
		dtDiv.style.top = tPos;
		dtDiv.style.left = lPos;
		var winW = 630, winH = 460;

		if (parseInt(navigator.appVersion)>3) {
			if (navigator.appName=="Netscape") {
				winW = window.innerWidth;
				winH = window.innerHeight;
			};
			if (navigator.appName.indexOf("Microsoft")!=-1) {
				winW = document.body.offsetWidth;
				winH = document.body.offsetHeight;
			};
		};
		
		//make sure it is not off screen right..
		if(parseInt(dtDiv.style.width) + parseInt(dtDiv.style.left) > winW){
			dtDiv.style.left = parseInt(dtDiv.style.left) - (parseInt(dtDiv.style.width)+parseInt(dtDiv.style.left) - parseInt(winW) + 15) + 'px';
		};
		
		document.getElementById("hidselYear").value = currentDate.getFullYear();
		document.getElementById("hidselMonth").value = currentDate.getMonth() + 1;
		
		buildCalendar(currentDate);
		hideElement("SELECT", dtDiv) ;	
	};
};

function calSetOrderDate(){
	var TextMessage = "";
	try{
	ordDate = new Date(getElement('txtOrderDate').value);
	rightNow = dtNowDate;
	today = new Date(rightNow.getYear(), rightNow.getMonth(), rightNow.getDate(),0,0,0);
	}catch(errObj){
		TextMessage = (ExpressLinkJsMessage[39]) ? ExpressLinkJsMessage[39] : "Order date could not be set.";
		alert(TextMessage);
		return;
	};
	if(ordDate < today){
		TextMessage = (ExpressLinkJsMessage[40]) ? ExpressLinkJsMessage[40] : "Orders cannot be scheduled for dates in the past.";
		alert(TextMessage);
		return;
	};
	setSchedOrderDate(getElement('txtOrderDate').value);
	try{
		getElement("dspOrderDateHead").innerHTML = getElement('txtOrderDate').value;
		//getElement('displayChosenDate').innerHTML = getElement('txtOrderDate').value;
	}catch(errobj){};
	showDTPick();
};

function setMonthNext(){
	if (monthCounter < 13) {
		if(Number(getElement('hidselMonth').value) == 12){
			getElement('hidselMonth').value = 1;
			getElement('hidselYear').value = Number(getElement('hidselYear').value) + 1;
		}else{
			getElement('hidselMonth').value = Number(getElement('hidselMonth').value) + 1;
		};
		CurrentCalendar_1.selectChange();
		monthCounter += 1;
		document.getElementById('prevImageCal').style.display = 'block';
	} else {
		document.getElementById('nextImageCal').style.display = 'none';
	};
	
	if (monthCounter == 13) {
		document.getElementById('nextImageCal').style.display = 'none';			
	};
};

function setMonthPrior(){
	//if (monthCounter > 1) {
		if(Number(getElement('hidselMonth').value) == 1){
			getElement('hidselMonth').value = 12;
			getElement('hidselYear').value = Number(getElement('hidselYear').value) - 1;
		}else{
			getElement('hidselMonth').value = Number(getElement('hidselMonth').value) - 1;
		};
		CurrentCalendar_1.selectChange();
		monthCounter -= 1;
		document.getElementById('nextImageCal').style.display = 'block';
	//} else {
		//document.getElementById('prevImageCal').style.display = 'none';
	//}
	//if (monthCounter == 1) {
	//	document.getElementById('prevImageCal').style.display = 'none';			
	//}
};

function setToday(){
	tdate = dtNowDate;
	selAdv = advDollarArray[tdate.getDate()];
	setOrderDate = calendarDateStringFormat(tdate,true);//monthsArray[tdate.getMonth()].substr(0,3) + ". " + tdate.getDate() + ", " + tdate.getFullYear();
	getElement('txtOrderDate').value = calendarDateFieldFormat(tdate);//(tdate.getMonth()+1) + '/' + tdate.getDate() + '/' + tdate.getFullYear();
	getElement('displayChosenDate').innerHTML = setOrderDate; 
	getElement('hidselMonth').value = tdate.getMonth()+1;
	getElement('hidselYear').value = tdate.getFullYear();
	setOrderDate = calendarDateStringFormat(tdate,false);
	displayAdv(selAdv,setOrderDate);
	CurrentCalendar_1.selectChange();
//	CurrentCalendar_1.dSelDay = tdate.getDate();
	CurrentCalendar_1.dSelDate = tdate;
	CurrentCalendar_1.fillDateFld();
	//this.dSelDate=
};

function buildCalendar(currentDate){
	var dCurDate_1 = currentDate; //new Date(selDate);
	dCurDate_1.setFullYear(dCurDate_1.getFullYear(), dCurDate_1.getMonth(), dCurDate_1.getDate());
	containerObj = getElement('calCtrlContainer');
	dateFldObj = getElement('txtOrderDate');
	
	if(calType == 'new'){
		getElement('dvCalDspText1').style.display = 'none';
		getElement('dvCalDspText2').style.display = 'none';
		getElement('dvCalDspText3').style.display = 'block';
		getElement('dvCalDspTextHeader1').style.display = 'none';
		getElement('dvCalDspTextHeader2').style.display = 'none';
		getElement('dvCalDspTextHeader3').style.display = 'block';
	}else if(calType == 'dup') {
		getElement('dvCalDspText1').style.display = 'none';
		getElement('dvCalDspText2').style.display = 'block';
		getElement('dvCalDspText3').style.display = 'none';
		getElement('dvCalDspTextHeader1').style.display = 'none';
		getElement('dvCalDspTextHeader2').style.display = 'block';
		getElement('dvCalDspTextHeader3').style.display = 'none';
	} else {
		//Modify order
		getElement('dvCalDspText1').style.display = 'block';
		getElement('dvCalDspText2').style.display = 'none';
		getElement('dvCalDspText3').style.display = 'none';
		getElement('dvCalDspTextHeader1').style.display = 'block';
		getElement('dvCalDspTextHeader2').style.display = 'none';
		getElement('dvCalDspTextHeader3').style.display = 'none';
	};
		
	//ALWAYS REBUILD!Removed this line becuase we want the calendar to be rebuilt on each call.
	//if(CurrentCalendar_1 == null){
		//CurrentCalendar_1 = new WebCalendar(dCurDate_1.getYear(),dCurDate_1.getMonth()+1, 3,'calCtrlContainer',containerObj);
		calParamObj = new Object;
		calParamObj.iYear = dCurDate_1.getFullYear();
		calParamObj.iMonth = dCurDate_1.getMonth()+1;
		calParamObj.selDate = dCurDate_1.getDate();
		calParamObj.dSelDate;
		calParamObj.iDayStyle = 3;
		calParamObj.sObjName = 'CurrentCalendar_1';
		calParamObj.objToFill = containerObj;
		calParamObj.dateFld = dateFldObj;
		calParamObj.limitHistoricalInput = true;
		
		calParamObj.noOrdersOn = ClientNoOrderDates;
		CurrentCalendar_1 = new WebCalendar(calParamObj);
		//CurrentCalendar_1 = new WebCalendar(dCurDate_1.getYear(),dCurDate_1.getMonth()+1, 3,'CurrentCalendar_1',containerObj, dateFldObj, true);
	//}
};

if (document.layers) { // Netscape
	document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = captureMousePosition;
} else if (document.all) { // Internet Explorer
	document.onmousemove = captureMousePosition;
} else if (document.getElementById) { // Netcsape 6
	document.onmousemove = captureMousePosition;
};
// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page

function captureMousePosition(e) {
	try
	{
		if (document.layers) {
			xMousePos = e.pageX;
			yMousePos = e.pageY;
			xMousePosMax = window.innerWidth+window.pageXOffset;
			yMousePosMax = window.innerHeight+window.pageYOffset;
		} else if (document.all) {
			xMousePos = window.event.x+document.body.scrollLeft;
			yMousePos = window.event.y+document.body.scrollTop;
			xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
			yMousePosMax = document.body.clientHeight+document.body.scrollTop;
		} else if (document.getElementById) {
			// Netscape 6 behaves the same as Netscape 4 in this regard 
			xMousePos = e.pageX;
			yMousePos = e.pageY;
			xMousePosMax = window.innerWidth+window.pageXOffset;
			yMousePosMax = window.innerHeight+window.pageYOffset;
		};
	}catch(errobj){};
};
function findPosX(obj){
	var curleft = 0;
	if(obj.offsetParent){
			while(1){
				curleft += obj.offsetLeft;
				if(!obj.offsetParent)
					break;
				obj = obj.offsetParent;
			};
	}else if(obj.x){
			curleft += obj.x;
	}
	return curleft;
};

function findPosY(obj){
	var curtop = 0;
	if(obj.offsetParent){
			while(1){
				curtop += obj.offsetTop;
				if(!obj.offsetParent)
					break;
				obj = obj.offsetParent;
			};
	}else if(obj.y)
			curtop += obj.y;
	return curtop;
};
function showCalendarBubble(elm) {
	var TextMessage = (ExpressLinkJsMessage[41]) ? ExpressLinkJsMessage[41] : "This is a high-volume day or the date has already passed. Please choose another day for your scheduled order.";
	//SNAPX, 10, SNAPY, 18, 
	//OFFSETX, -tableWidth-10, OFFSETY, -35,
	//DELAY, 500, 
	tableWidth = 175;
	posX = findPosX(elm);
	posY = findPosY(elm);
	html = "<span style='position:relative;left:"+(tableWidth-9)+"px;top:+27px;'>" +
						"<img src='"+imgPath+"/balloon/balloon_right.gif' width='26' height='12'>" +
					"</span>" +
					"<table width='"+tableWidth+"' border='0' cellpadding='0' cellspacing='0' class='orange_txt'>" +
						"<tr>" +
							"<td><img src='"+imgPath+"/balloon/balloon01.gif' width='6' height='6'></td>" +
							"<td background='"+imgPath+"/balloon/balloon02.gif'></td>" +
							"<td><img src='"+imgPath+"/balloon/balloon08.gif' width='9' height='6'></td>" +
						"</tr>" +
						"<tr>" +
							"<td width='6' background='"+imgPath+"/balloon/balloon03.gif'></td>" +
							"<td bgcolor='#faf8ea'>"+TextMessage+"</td>" +
							"<td width='6' background='"+imgPath+"/balloon/balloon07.gif'></td>" +
						"</tr>" +
						"<tr>" +
							"<td><img src='"+imgPath+"/balloon/balloon04.gif' width='6' height='10'></td>" +
							"<td background='"+imgPath+"/balloon/balloon05.gif'></td>" +
							"<td><img src='"+imgPath+"/balloon/balloon06.gif' width='9' height='10'></td>" +
						"</tr>" +
					"</table>";
	
	return overlib(html, FULLHTML, WIDTH, tableWidth+100, FIXX, posX-tableWidth-13, FIXY, posY-20, DELAY, 500);
};