//set todays date

Now = new Date();
NowDay = Now.getDate();
NowMonth = Now.getMonth();
NowYear = Now.getYear();
if (NowYear < 2000) NowYear += 1900; //for Netscape
//function for returning how many days there are in a month including leap years


function CheckDate() {
	
	var minday;
	var maxday;
	var peakStartDate;
	var peakEndDate;
	var eDate;
	
	if ((peakStart.length > 0) && (peakEnd.length > 0)) {
		peakStartDate = new Date(peakStart);
		peakEndDate = new Date(peakEnd);
		eDate = new Date(earliestDate);
	}
	else {
		alert('variables not found');
	}
	
	var cboDay = document.getElementById('cboday');
	var cboMonth = document.getElementById('cbomonth');
	var cboYear = document.getElementById('cboyear');

	//var selWeekDay = document.getElementById('txtdDay').value;
	var selDay = cboDay.value;
	var selMonth = cboMonth.value;
	var selYear = cboYear.value;
	populateDay(selMonth, selYear)

	//Selected Delivery Date
	var newDate = new Date(selYear, selMonth -1, selDay);
	var checkdate = checkearliest(eDate,newDate);	
	
	if (checkdate == false) {
		var chkpeak = checkpeak(peakStartDate, peakEndDate, newDate);
		}
	else {
		cboDay.selectedIndex = eDate.getDate() - 1;
		cboMonth.selectedIndex = eDate.getMonth();
		cboYear.selectedIndex = 0;
		return false;
	}
	
	if (chkpeak == true) {
		createPeakTime(newDate);
	} else if (chkpeak == false) {
		createNormalTime(newDate);
	}
}

function createPeakTime(newDate) {
	var peakSlot = new Array();
	peakSlot[0] = "9am - 6pm";
	peakSlot[1] = "7pm - 11pm";
}

function createNormalTime(newDate) {
	var normalSlot = new Array();
	normalSlot[0] = "9am - 1pm"
	normalSlot[1] = "2pm - 5.30pm"
	normalSlot[2] = "7pm - 11pm" 
	
	var delDay = newDate.getDay();
	
	var divtag = document.getElementById('deliverytime'); 
	var objList = document.frmAddCart.elements['radListTime'];

	var delcell = document.getElementById('delcell');
	//if (objList && divtag){
	//	divtag.removeChild(objList);
	//}
	alert (divtag.getElementsByTagName('input')); 
	if (divtag) {
		divName = divtag;
	//	if (divtag.getElementsByTagName('input')) {
	//		divtag.removeNode(divtag.getElementsByTagName('input'));
			if (objList) {
				for (var y = 0 ; y < objList.length ;y++ ) {
					var objItem = document.getElementById('radListTime_' +y);
					if (objItem) {
						divtag.removeNode(true);
						//divtag.removeChild(objItem);
					}
				}
				alert(objList.length);
			//	divtag.removeNode(objList);
			//} else if (!objList) {
			//	var objItem2 = document.getElementsByName('radListTime');
			//	divtag.removeNode(objItem2);
			}
	//	} 
	}
	
	var deltype;
	switch (delDay) {
		case 0 : deltype = 0;break;
		case 1 : deltype = 2;break;
		case 2 : deltype = 2;break;
		case 3 : deltype = 2;break;
		case 4 : deltype = 2;break;
		case 5 : deltype = 2;break;
		case 6 : deltype = 1;break;
	}
	
	//if the div tag is null
	if (!delcell){
		alert('del cell is null');
	}
	
	//Create the time slots for the selected delivery date
	var browserName=navigator.appName; 
	for (var y = 0 ; y < deltype + 1 ;y++ ) {
		//if(document.all && !window.opera && document.createElement) {
			
		//} else if(document.createElement && document.createTextNode) {
		
		/*	
		}*/

		if ((browserName == 'Microsoft Internet Explorer') || (browserName == 'Netscape'))
		{ 
			alert('browser1 is '+browserName);
			var newTime = document.createElement("<input type='radio' name='radListTime' id='radListTime_" + y +"' value='" + y + "'>"); 
		}
		else  {
			alert('browser2 is '+browserName);
			var newTime = document.createElement('input');
			newTime.type = 'radio';
			newTime.value = y;
			newTime.checked = false;
			newTime.id = 'radListTime_'+ y;
			newTime.name = 'radListTime';
			newTime.setAttribute('name','radListName');
		}
		var newLabel = document.createElement("label");
		newLabel.innerHTML = normalSlot[y];
		newLabel.htmlfor = 'radListTime_' + y;
		newLabel.appendChild(newTime);
	}
	
	if (divtag == null){
		
		//var delcell = document.getElementById('delcell');
		var divtag = document.createElement('div');
		divtag.setAttribute('id','deliverytime2');
		divtag.id= 'deliverytime2';
		divName = 'deliverytime2';
		divtag.appendChild(newLabel);
		delcell.appendChild(divtag);
	} else if (divtag !=null)
	{
		alert(divtag);
		divtag.appendChild(newLabel);
		divName = 'deliverytime';
		delcell.appendChild(divtag);
	}
}

//Compare the earliest delivery date with the selected date
function checkearliest(edate, newdeldate) {
	var checkflag;
	if (edate > newdeldate) {
		alert('Day falls before earliest delivery date');
		checkflag = true;
		}
	else {
		checkflag = false;
		}
	return checkflag;
	}
//check the delivery date against the peak period date
function checkpeak(pstart, pend, newdeldate) {
	var checkpeakflag;
	if ((newdeldate > pstart) && (newdeldate < pend)){
		alert('Delivery Date falls within the peak period!');
		checkpeakflag = true;
	} else {
		checkpeakflag = false;
	}
	return checkpeakflag;
}

function populateDay(MonthValue, YearValue) {
	//Get The Last Day Of the Month	
	var lastday;
	
	if (MonthValue == 1 || MonthValue == 3 || MonthValue == 5 || MonthValue == 7 || MonthValue == 8 || MonthValue == 10 || MonthValue == 12 ) lastday = 31;
	if (MonthValue == 4 || MonthValue == 6 || MonthValue == 7 || MonthValue == 11) lastday = 30;
	if (MonthValue == 2 && (YearValue/4) != Math.floor(YearValue/4))	lastday = 28;
	if (MonthValue == 2 && (YearValue/4) == Math.floor(YearValue/4))	lastday = 29;
	
	var day = document.getElementById('cboday');
	var selectedDay = document.getElementById('cboday').selectedIndex;

	day.options.length = 0;
	for (var i = 0; i < lastday; i++) {
		day.options[i] = new Option(i+1, i+1);
	}
	day.options.selectedIndex = selectedDay;
}

function getTimeSlot(DateValue, earliestDate) {
	var WeekDay = DateValue.getDay();
	var earliestWeekDay = earliestDate.getDay();
	var avalNoTimeSlot;
	//alert(earliestDate);
	switch (WeekDay){
		case 0:
			avalNoTimeSlot = 0;
			break;
		case 6 :
			avalNoTimeSlot = 1;
			break;
		default:
			avalNoTimeSlot = 2;
			break;
	}
	return avalNoTimeSlot;

}

//Check the additional package only one can be selected
function CheckAddPackageA(){
	var PackageAYes = document.getElementById('radAYes');
	var PackageBYes = document.getElementById('radBYes');
	var PackageBNo = document.getElementById('radBNo');
	
	if (PackageAYes.checked) {
		PackageBYes.checked = false;
		PackageBNo.checked = true;
	}
}

function CheckAddPackageB(){
	var PackageAYes = document.getElementById('radAYes');
	var PackageANo = document.getElementById('radANo');
	var PackageBYes = document.getElementById('radBYes');
	
	if (PackageBYes.checked) {
		PackageAYes.checked = false;
		PackageANo.checked = true;
	}
}

function Test() {
	var divtag = document.getElementById('deliverytime');
	if (divtag != '' ) {
		//divtag.style.visibility = 'hidden';
	}
	//alert(divtag.style.visibility);
	var dTime = document.getElementById('radListTime');
	alert('dTime Length ' + document.forms[0].radListTime.length);
	for (var y = 0 ; y < document.forms[0].radListTime.length ;y++ ) {
		var objItem = document.forms[0].radListTime[y];
		if (objItem.checked == true) {
			alert(objItem.value);	
		}
		objItem.style.visibility = 'hidden';
	}
	
	var newTime = document.createElement('INPUT');
	var textnode = document.createTextNode(' 9am');
	newTime.type = 'radio';
	newTime.value = 5;
	newTime.id = 'newtime';
	
	
	divtag.appendChild(newTime);
	divtag.appendChild(textnode);

}

//Count Delivery Msg Function
function isBlank(input){
var inputStr=input.value
if(window.RegExp && inputStr){
	var regExp1 = /\S/
	if(!regExp1.test(inputStr)) {input.value="";return true}; return false
}}

function chkMaxLen(input,max,count){
var inputStr=input.value
if(max && inputStr.length>max) {alert("Your message has exceeded the maximum length of "+max+" characters.\n\nPlease shorten your entry.");input.value=inputStr.substring(0,max);input.focus()}
if(count) {count.value=input.value.length;input.blur();input.focus()}
}

var cmlTimer
function showMaxLen(input,max,count){
cmlTimer=setTimeout("chkMaxLen(document."+input.form.name+"."+input.name+","+max+",document."+count.form.name+"."+count.name+")",100)
}