//Script takes a date range and manually checks checkboxes relating to days of the week and weeks of the year
//which get submitted as part of the search query behind the scenes

//SearchFormID gets set externally to this script on the page within a separate script tags


var j = 0;
var i = 0;



function SelectToday(){
d=new Date();

document.forms[SearchFormID].CAT_Custom_52809_Min.value=FormatGBDate(d);
document.forms[SearchFormID].CAT_Custom_52391_Max.value=FormatGBDate(d);
}

function SelectTomorrow(){
var oneDay=1000*60*60*24;
today=new Date();
nextday=new Date();
todayInMs=today.getTime();
nextday.setTime(todayInMs+oneDay);
document.forms[SearchFormID].CAT_Custom_52809_Min.value=FormatGBDate(nextday);
document.forms[SearchFormID].CAT_Custom_52391_Max.value=FormatGBDate(nextday);
}

function SelectNextWeek(){
var oneWeek=1000*60*60*24*7;
today=new Date();
nextday=new Date();
todayInMs=today.getTime();
nextday.setTime(todayInMs+oneWeek);
document.forms[SearchFormID].CAT_Custom_52809_Min.value=FormatGBDate(today);
document.forms[SearchFormID].CAT_Custom_52391_Max.value=FormatGBDate(nextday);

}

function SelectNextWeekend(){
var oneDay=1000*60*60*24;
var daysahead;
today=new Date();
switch (today.getDay())
{
case 0:
	daysahead=6;
	break;
case 6:
	daysahead=7;
	break;
default:
	daysahead=6-today.getDay()
	break;
	
}
saturday=new Date();
sunday=new Date();
todayInMs=today.getTime();
saturday.setTime(todayInMs+(daysahead*oneDay));
sunday.setTime(todayInMs+(daysahead*oneDay)+oneDay);
document.forms[SearchFormID].CAT_Custom_52809_Min.value=FormatGBDate(saturday);
document.forms[SearchFormID].CAT_Custom_52391_Max.value=FormatGBDate(sunday);
}

function SelectNextMonth(){
	var today=new Date();
	var nextMonth=new Date();
	nextMonth.setMonth(nextMonth.getMonth()+1);
	document.forms[SearchFormID].CAT_Custom_52809_Min.value=FormatGBDate(today);
document.forms[SearchFormID].CAT_Custom_52391_Max.value=FormatGBDate(nextMonth);
}




function ClickDate(){
	document.forms[SearchFormID].whentogo_5.checked=true;

}



function GetDayOfTheWeek(d)
{
	//var thedate = new Date(d);
	var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	//alert(d + " (" + d.getDay() +")");
	return dayNames[new Date(d).getDay()];
}

function FormatGBDate(d)
{
	
	//var thedate = new Date(d);
	var monthNames = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	//alert(d + " (" + d.getDay() +")");

var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();

var GBDate = curr_date + "-" + monthNames[curr_month] + "-" + curr_year;


	
	
	
	return GBDate;
}

function GetWeekOfTheMonth(d)
{
	var today = new Date(d);
	var wom = (Math.floor((today.getDate()-1)/7)) + 1;
	//alert(Math.floor(today.getDate()/7));
	return wom;
}

function FillForm()
{

	//reset
	uncheck();
	
	var d1 = new Date(FormatDate(document.forms[SearchFormID].CAT_Custom_52809_Min.value));
	//var d2 = new Date(d1.getTime() + (86400000*5));
	var d2 = new Date(FormatDate(document.forms[SearchFormID].CAT_Custom_52391_Max.value));
	var dDiff = DateDiff(d1, d2)+1;
	var dTracker = new Date(d1);
	j = 0;
	var z = 0;
	
	
	//alert(dDiff);
	
		while(j < dDiff)
			{
				while(z < j)
				{
					dTracker.setTime(dTracker.getTime() + 86400000);
					//alert(z + " :" + dTracker);
					z++;
				}
				
				//alert(86400000*j);
				
				//d1 = new Date(d1.getTime() + (86400000*j));
				
				//alert("Sending: " + d1);
				//alert("Tracker: " + dTracker);
				strDOW = GetDayOfTheWeek(dTracker);
				strWOM = GetWeekOfTheMonth(dTracker);
	
				//alert(strDOW + " DD= " + dDiff + " j= " + j + " D1= " + d1);

				for(i = 0; i < document.forms[SearchFormID].elements.length; i++)
					{
						if(document.forms[SearchFormID].elements[i].type=="checkbox")
							{
								/*if(document.catcustomcontentform90331.elements[i].name=="dow" || document.catcustomcontentform90331.elements[i].name=="wom")
									{*/
									if(document.forms[SearchFormID].elements[i].value==strDOW || document.forms[SearchFormID].elements[i].value==strWOM)
											{
											document.forms[SearchFormID].elements[i].checked=true;
											}
									/*}*/
							}
					}
					j++;
					
				}
}



function uncheck()
{
	
	//alert(dDiff);
	
		
			
				for(i = 0; i < document.forms[SearchFormID].elements.length; i++)
					{
						if(document.forms[SearchFormID].elements[i].type=="checkbox")
							{
											document.forms[SearchFormID].elements[i].checked=false;
							}
					}
					
					
j = 0;
i = 0;

}


function DateDiff(d1, d2)
{
	//Set 1 day in milliseconds
	var one_day = 1000*60*60*24;
	
	//Calculate difference btw the two dates, and convert to days
	return Math.ceil((d2.getTime()-d1.getTime())/(one_day));
}

function FormatDate(d)
{
	var strDate = d;
	var arrDate = new Array();
	arrDate = strDate.split("-");
	var fullMonth = "";
	
	//return the full month
	switch (arrDate[1])
{
case "Jan":
  fullMonth = "January";
  break;
case "Feb":
  fullMonth = "Feb";
  break;
  case "Mar":
  fullMonth = "Mar";
  break;
  case "Apr":
  fullMonth = "April";
  break;
  case "May":
  fullMonth = "May";
  break;
  case "Jun":
  fullMonth = "June";
  break;
  case "Jul":
  fullMonth = "July";
  break;
  case "Aug":
  fullMonth = "August";
  break;
  case "Sep":
  fullMonth = "September";
  break;
  case "Oct":
  fullMonth = "October";
  break;
  case "Nov":
  fullMonth = "November";
  break;
  case "Dec":
  fullMonth = "December";
  break;
default:
   fullMonth = "January";
}

var newdate = fullMonth + " " + arrDate[0] + "," + arrDate[2];
return newdate;

}



function CheckBoxSelectAll(sender,elementname){
	var s = 0;
	if(sender){
		for(s = 0; s < document.forms[SearchFormID].elements.length; s++)
						{
							if(document.forms[SearchFormID].elements[s].type=="checkbox")
								{
									if(document.forms[SearchFormID].elements[s].name==elementname)
										{
										
												document.forms[SearchFormID].elements[s].checked=true;
											
										}
								}
						}
	}
}

function UnCheckBoxSelectAll(sender, elementname){
	var s = 0;
	if(!sender){
		for(s = 0; s < document.forms[SearchFormID].elements.length; s++)
						{
							if(document.forms[SearchFormID].elements[s].type=="checkbox")
								{
									if(document.forms[SearchFormID].elements[s].name==elementname)
										{
										
												document.forms[SearchFormID].elements[s].checked=false;
											
										}
								}
						}
	}
}

