var category="s0";
function Events()
{
	function getValue(oSelect,oImg)
	{
	    //alert('getValue called\noSelect: ' + oSelect + '\noImg: ' + oImg);
	    //if (oImg==null) return false;
	    
		var value;
		var newClassName;
		if(oSelect.selectedIndex >= 0)
		{
			value=new Number(oSelect.options[oSelect.selectedIndex].value);
			if(value <= 0) value=Number.NaN;
			if(isNaN(value))
			{
			    newClassName = "";
				//oImg.className="";
			}
			else
			{
			    newClassName = "hide";
				//oImg.className="hide";
			}
		}
		else
		{
			value=Number.NaN;
			newClassName = "";
			//oImg.className="";
		}
		
		if(oImg != null) oImg.className = newClassName;
		
		return value;
	}
	
	function findSelectIndex(oSelect,value)
	{
		var i=0;
		for(i=0;i<oSelect.options.length;i++)
		{
			if(oSelect.options[i].value == value)
			{
				return i;
			}
		}
		return -1;
	}
	
	this.hidePanel = function(cat)
	{
		switch(cat)
		{
			case "s1":
				document.getElementById("pnl_s1").className="hide";
				break;
			case "s2":
				document.getElementById("pnl_s2").className="hide";
				break;
			case "s3":
				document.getElementById("pnl_s3").className="hide";
				break;
			case "s4":
				document.getElementById("pnl_s4").className="hide";
				break;
			case "s5":
				document.getElementById("pnl_s5").className="hide";
				break;
			case "s6":
				document.getElementById("pnl_s6").className="hide";
				break;
			case "s7":
				document.getElementById("pnl_s7").className="hide";
				break;
		}
		document.getElementById("div_Result").style.display="none";
	}
	this.setDisplay = function(select)
	{
		var oldCat = category;
		if(select)
		{
			if(select.selectedIndex >= 0)
				category=select.options[select.selectedIndex].value;
		}
		if(oldCat != category)
			this.hidePanel(oldCat);
		switch(category)
		{
			case "s0":
				this.submit(select);
				break;
			case "s1":
				document.getElementById("pnl_s1").className="";
				document.getElementById("searchByS1").innerHTML="Search by Specific Date";
				break;
			case "s2":
				document.getElementById("pnl_s2").className="";
				document.getElementById("searchByS2").innerHTML="Search by Date Range";
				break;
			case "s3":
				document.getElementById("pnl_s3").className="";
				document.getElementById("searchByS3").innerHTML="Search by Organization";
				break;
			case "s4":
				document.getElementById("pnl_s4").className="";
				document.getElementById("searchByS4").innerHTML="Search by City";
				break;
			case "s5":
				document.getElementById("pnl_s5").className="";
				document.getElementById("searchByS5").innerHTML="Search by Category";
				break;
			case "s6":
				document.getElementById("pnl_s6").className="";
				document.getElementById("searchByS6").innerHTML="Search by Target Industry Sector";
				break;
			case "s7":
				document.getElementById("pnl_s7").className="";
				document.getElementById("searchByS7").innerHTML="Search by Province / Territory";
				break;
			default:
				break;
			
		}
	}
	this.clearDays=function(oDay)
	{
		var i=0;
		for(i=oDay.options.length - 1;i>0;i--)
		{
			oDay.remove(i);
		}
	}
	this.setDays=function(oYearId, oMonthId, oDayId,oImgYearId, oImgMonthId, oImgDayId)
	{
		var oYear = document.getElementById(oYearId), oMonth = document.getElementById(oMonthId), 
			oDay=document.getElementById(oDayId),oOption;
		var oImgYear = document.getElementById(oImgYearId), oImgMonth = document.getElementById(oImgMonthId), 
			oImgDay=document.getElementById(oImgDayId),oOption;
		var year, month;
		var i=0;
		this.clearDays(oDay);
		year = getValue(oYear,oImgYear);
		month = getValue(oMonth,oImgMonth);
		if(isNaN(year)|| isNaN(month))
		{
			this.validate();
			return;
		}
		if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
		{
			for(i=1;i<=31;i++)
			{
				oOption = document.createElement('option');
				oOption.value=i;
				oOption.text=i>=10?i.toString():'0'+i.toString();
				try
				{
					oDay.add(oOption,null);
				}
				catch(ex)
				{
					oDay.add(oOption);
				}
			}	
		}
		if(month==4 || month==6 || month==9 || month==11)
		{
			for(i=1;i<=30;i++)
			{
				oOption = document.createElement('option');
				oOption.value=i;
				oOption.text=i>=10?i.toString():'0'+i.toString();
				try
				{
					oDay.add(oOption,null);
				}
				catch(ex)
				{
					oDay.add(oOption);
				}
			}	
		}
		if(month==2)
		{
			if(year%4==0)
			{
				for(i=1;i<=29;i++)
				{
					oOption = document.createElement('option');
					oOption.value=i;
					oOption.text=i>=10?i.toString():'0'+i.toString();
					try
					{
						oDay.add(oOption,null);
					}
					catch(ex)
					{
						oDay.add(oOption);
					}
				}
			}
			else
			{
				for(i=1;i<=28;i++)
				{
					oOption = document.createElement('option');
					oOption.value=i;
					oOption.text=i>=10?i.toString():'0'+i.toString();
					try
					{
						oDay.add(oOption,null);
					}
					catch(ex)
					{
						oDay.add(oOption);
					}
				}
			}
		}
	}
	
	this.validate=function()
	{
		var oSelect,oImg;
		var year, month, day;
		var ret=true, valid=Number.NaN;
		switch(category)
		{
			case "s1":
				oSelect = document.getElementById("s1_year");
				oImg = document.getElementById("err_s1_y");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				oSelect=document.getElementById("s1_month");
				oImg = document.getElementById("err_s1_m");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				oImg = document.getElementById("err_s1_d");
				oSelect=document.getElementById("s1_day");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				break;
			case "s2":
				oSelect = document.getElementById("s2_year1");
				oImg = document.getElementById("err_s2_y1");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				oSelect=document.getElementById("s2_month1");
				oImg = document.getElementById("err_s2_m1");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				oImg = document.getElementById("err_s2_d1");
				oSelect=document.getElementById("s2_day1");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				oSelect = document.getElementById("s2_year2");
				oImg = document.getElementById("err_s2_y2");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				oSelect=document.getElementById("s2_month2");
				oImg = document.getElementById("err_s2_m2");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				oSelect=document.getElementById("s2_day2");
				oImg = document.getElementById("err_s2_d2");
				valid=getValue(oSelect,oImg);
				if(isNaN(valid)) ret=false;
				break;
			default:
				break;			
		}
		return ret;
	}
	
	this.submit=function(obj)
	{
		var oForm = obj.form;
		var value="", oSelect;
		if(!oForm)
			return;
		if(!this.validate())
			return;
		switch(category)
		{
			case "s0":
				oForm.action="Calendar.aspx";
				oForm.submit();
				break;
			case "s1":
				oSelect =document.getElementById("s1_year"); 
				value = "&y=" + oSelect.options[oSelect.selectedIndex].value;
				oSelect =document.getElementById("s1_month"); 
				value += "&m=" + oSelect.options[oSelect.selectedIndex].value;
				oSelect =document.getElementById("s1_day"); 
				value += "&d=" + oSelect.options[oSelect.selectedIndex].value;
				oForm.action="Calendar.aspx?type=s1"+value;
				oForm.submit();
				break;
			case "s2":
				oSelect =document.getElementById("s2_year1"); 
				value = "&y1=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oSelect =document.getElementById("s2_month1"); 
				value += "&m1=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oSelect =document.getElementById("s2_day1"); 
				value += "&d1=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oSelect =document.getElementById("s2_year2"); 
				value += "&y2=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oSelect =document.getElementById("s2_month2"); 
				value += "&m2=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oSelect =document.getElementById("s2_day2"); 
				value += "&d2=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oForm.action="Calendar.aspx?type=s2"+value;
				oForm.submit();
				break;
			case "s3":
				oSelect = document.getElementById("s3_organizations");
				value = "&org=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oForm.action="Calendar.aspx?type=s3"+value;
				oForm.submit();
				break;
			case "s4":
				oSelect = document.getElementById("s4_cities");
				value = "&city=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oForm.action="Calendar.aspx?type=s4"+value;
				oForm.submit();
				break;
			case "s5":
				oSelect = document.getElementById("s5_categories");
				value = "&cat=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oForm.action="Calendar.aspx?type=s5"+value;
				oForm.submit();
				break;
			case "s6":
				oSelect = document.getElementById("s6_TIS");
				value = "&tis=" + escape(oSelect.options[oSelect.selectedIndex].value);
				oForm.action="Calendar.aspx?type=s6"+value;
				oForm.submit();
				break;
			case "s7":
				oForm.action="Calendar.aspx?type=s7&pro="+obj.value;
				oForm.submit();
				break;
			default:
				break;
		}
	}
	this.initDisplay=function()
	{
		switch(category)
		{
			case "s0":
				document.getElementById("ddSearchFilters1").selectedIndex = 0;
				break;
			case "s1":
				document.getElementById("pnl_s1").className="";
				document.getElementById("searchByS1").innerHTML="Search by Specific Date";
				document.getElementById("s1_year").selectedIndex = findSelectIndex(document.getElementById("s1_year"),year);
				document.getElementById("s1_month").selectedIndex = findSelectIndex(document.getElementById("s1_month"),month);
				this.setDays("s1_year", "s1_month", "s1_day", "err_s1_y","err_s1_m", "err_s1_d");
				document.getElementById("s1_day").selectedIndex = findSelectIndex(document.getElementById("s1_day"),day);
				document.getElementById("ddSearchFilters1").selectedIndex = 1;
				break;
			case "s2":
				document.getElementById("pnl_s2").className="";
				document.getElementById("searchByS2").innerHTML="Search by Date Range";
				document.getElementById("searchByS1").innerHTML="Search by Specific Date";
				document.getElementById("s2_year1").selectedIndex = findSelectIndex(document.getElementById("s2_year1"),year1);
				document.getElementById("s2_month1").selectedIndex = findSelectIndex(document.getElementById("s2_month1"),month1);
				this.setDays("s2_year1", "s2_month1", "s2_day1", "err_s2_y1","err_s2_m1", "err_s2_d1");
				document.getElementById("s2_day1").selectedIndex = findSelectIndex(document.getElementById("s2_day1"),day1);
				document.getElementById("s2_year2").selectedIndex = findSelectIndex(document.getElementById("s2_year2"),year2);
				document.getElementById("s2_month2").selectedIndex = findSelectIndex(document.getElementById("s2_month2"),month2);
				this.setDays("s2_year2", "s2_month2", "s2_day2", "err_s2_y2","err_s2_m2", "err_s2_d2");
				document.getElementById("s2_day2").selectedIndex = findSelectIndex(document.getElementById("s2_day2"),day2);
				document.getElementById("ddSearchFilters1").selectedIndex = 2;
				break;
			case "s3":
				document.getElementById("pnl_s3").className="";
				document.getElementById("searchByS3").innerHTML="Search by Organization";
				document.getElementById("s3_organizations").selectedIndex = findSelectIndex(document.getElementById("s3_organizations"),org);
				document.getElementById("ddSearchFilters1").selectedIndex = 3;
				break;
			case "s4":
				document.getElementById("pnl_s4").className="";
				document.getElementById("searchByS4").innerHTML="Search by City";
				document.getElementById("s4_cities").selectedIndex = findSelectIndex(document.getElementById("s4_cities"),city);
				document.getElementById("ddSearchFilters1").selectedIndex = 4;
				break;
			case "s5":
				document.getElementById("pnl_s5").className="";
				document.getElementById("searchByS5").innerHTML="Search by Category";
				document.getElementById("s5_categories").selectedIndex = findSelectIndex(document.getElementById("s5_categories"),cat);
				document.getElementById("ddSearchFilters1").selectedIndex = 5;
				break;
			case "s6":
				document.getElementById("pnl_s6").className="";
				document.getElementById("searchByS6").innerHTML="Search by Target Industry Sector";
				document.getElementById("s6_TIS").selectedIndex = findSelectIndex(document.getElementById("s6_TIS"),tis);
				document.getElementById("ddSearchFilters1").selectedIndex = 6;
				break;
			case "s7":
				document.getElementById("pnl_s7").className="";
				document.getElementById("searchByS7").innerHTML="Search by Province / Territory:"+pro;
				document.getElementById("ddSearchFilters1").selectedIndex = 7;
				break;
			default:
				break;
		}
		document.getElementById("div_Result").style.display="";
	}
}
