String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}



	var tdate = new Date();
	mn= tdate.getMonth() + 1;
    if (viewDate =="") {
 	 crtDate =  mn + "/" + tdate.getDate() + "/" + tdate.getFullYear();
    } else {
      crtDate = viewDate;
     }
	//document.write(crtDate);
	//crtDate = "12/15/2007";
	tdate = new Date(crtDate);
	var tday = tdate.getDate();
	var tyear = tdate.getFullYear();
	var tmonth = tdate.getMonth() + 1;
   //	document.write(crtDate);
	var crtWeek = 1;
	
	post = 'method: "POST", postData: "view=' + displayType +'&crtDate=' + crtDate + '"} , headers: { "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" ';
	//document.write(post);
	var ds1 = new Spry.Data.XMLDataSet("data/calData.asp", "eventdata/weeks", {method: "POST", postData: "view="+displayType+"&crtDate="+crtDate } );
	//var ds1 = new Spry.Data.XMLDataSet("data/calData.asp", "eventdata/eventday", {post});
	var edays = new Spry.Data.NestedXMLDataSet(ds1, "eventday"); 
	var edata = new Spry.Data.NestedXMLDataSet(edays, "events"); 
	var eattr  = new Spry.Data.NestedXMLDataSet(edata, "eattr");
	ds1.loadData();
	
	var calData = new Spry.Data.XMLDataSet("data/calDate.asp", "month/weeks", {method: "POST", postData: "crtDate="+crtDate } );
	var calDate = new Spry.Data.NestedXMLDataSet(calData, "days"); 
	calData.loadData();
	
	var temp = new Date(tmonth + "/1/" + tyear);
	var cnt = tday + temp.getDay() - 1;
	crtWeek = Math.floor(cnt/7);
	
	
	
	
	var fkey = function (ds,row,index) {
	 //document.write(row);
	 //if (row["sattr"] == "11") { return null; } else { return row; }
	//stf ="5 ";
	 return row;
	}
	
	//ds1.filter(fkey,true);
	
	
	function reloadDateData() {
	 tday = tdate.getDate();
	 tyear = tdate.getFullYear();
	 tmonth = tdate.getMonth() + 1;
	 crtDate = tmonth + "/" + tday + "/" + tyear;
	 
	 temp = new Date(tmonth + "/1/" + tyear);
	 cnt = tday + temp.getDay() - 1;
	 crtWeek = Math.floor(cnt/7);


	 calData.setURL("data/calDate.asp", {method: "POST", postData: "crtDate="+crtDate } );
	 calData.loadData();
	 calDate.loadData();
	
	 ds1.setURL("data/calData.asp", {method: "POST", postData: "view="+displayType+"&crtDate="+crtDate } );
	 ds1.loadData();
	 edays.loadData();
	 edata.loadData();
	 eattr.loadData();
	
	};
	
	//ds1.loadData()
	function calNav(dtype, dadd,wk,mth,yr) { 
	 
	 switch (dtype) {
	  case "y":
	   if (dadd == 0) { 
	     vw = wk.options[wk.selectedIndex].value;		 
	     tdate.setYear(vw);   		 
	   }   else { tdate.setYear(tdate.getFullYear() + dadd); }
	   reloadDateData();
	   break;
	  case "m":
	   if (dadd == 0) {
		 vw = wk.options[wk.selectedIndex].value - 1;		   
		 tdate.setMonth(vw);
	   } else {  tdate.setMonth(tdate.getMonth() + dadd);  }
	   
	   reloadDateData();   
	   break;
	  case "d":
	   tday = dadd;
	   tmonth = mth.trim();
	   tyear = yr.trim();
	   if (wk.length != 0) crtWeek = wk-1;
	   crtDate = tmonth + "/" + dadd + "/" + tyear;  
	   tdate = new Date(crtDate);
	   ds1.filter(fkey,true);
	   calData.filter(fkey,true);
	   if (displayType == "m") {
		  displayType='d'; calData.filter(fkey,true);
		  //acc1.openPanel(0);  
		  var dView = document.getElementById("dailyView");
		  var wView = document.getElementById("weeklyView");
		  var mView = document.getElementById("monthlyView");		  

          dView.style.display = "block";
		  wView.style.display = "none";		
		  mView.style.display = "none";			  
		  
		  var mylist=document.getElementById("selectedView");
		  mylist.selectedIndex = 0;
	   }
	 } 
	 return false;
	};
	
	function calAddFilter(vl) {
	/*	if (stf == filternone) {
			stf = vl;
		} else { */
		vl+= " ";
					if (stf.indexOf(vl) == -1) {
						stf = stf + vl + " ";
					} else {
								var ps = stf.indexOf(vl);
								stf = stf.substring(0,ps) + stf.substring(ps+1,stf.length );
								
					}

		ds1.filter(fkey,true);
		//document.write(stf);
	};
	


	function changeView(newLoc) {
		vw = newLoc.options[newLoc.selectedIndex].value;
		var dView = document.getElementById("dailyView");
		var wView = document.getElementById("weeklyView");
		var mView = document.getElementById("monthlyView");
    	
	
		
		//document.write(vw);
		switch (vw) {
		   case "d":
		    displayType='d'; calData.filter(fkey,true);
			
			//acc1.openPanel(0); 
			dView.style.display = "block";
			wView.style.display = "none";		
			mView.style.display = "none";				
			
			break;
		   case "w":	
		    displayType='w'; calData.filter(fkey,true);
			dView.style.display = "none";
			wView.style.display = "block";		
			mView.style.display = "none";	
							
			//acc1.openPanel(1); 
			
			break;
		   case "m":	
		    displayType='m'; calData.filter(fkey,true);
			dView.style.display = "none";
			wView.style.display = "none";		
			mView.style.display = "block";				
								
			//acc1.openPanel(2); 
			
			break;
		}
	   return true;	
	};

	function SetView(vt) {

		var dView = document.getElementById("dailyView");
		var wView = document.getElementById("weeklyView");
		var mView = document.getElementById("monthlyView");
		var my = document.getElementById("selectedView");
		
		//document.write(vw);
		switch (vt) {
		   case "d":
		    displayType='d'; calData.filter(fkey,true);
			
			//acc1.openPanel(0); 
			dView.style.display = "block";
			wView.style.display = "none";		
			mView.style.display = "none";				
			my.selectedIndex = 0;		
			break;
		   case "w":	
		    displayType='w'; calData.filter(fkey,true);
			dView.style.display = "none";
			wView.style.display = "block";		
			mView.style.display = "none";				
			//acc1.openPanel(1);
			my.selectedIndex = 1;		
			break;
		   case "m":	
		    displayType='m'; calData.filter(fkey,true);
			dView.style.display = "none";
			wView.style.display = "none";		
			mView.style.display = "block";				
			//acc1.openPanel(2); 
			my.selectedIndex = 2;		
			break;
		}
	   return true;	
	};


    function checkFilter(vl) {
	   sp = vl.split(",")
	   for (i=0; i < sp.length;i++) {
		if (stf.indexOf(sp[i]) != -1) {
			return 0;
		}
	   }
	   return -1;
	};

	function toggleSelect()
	{
		var count = ftlCount;
		if(document.forms.categories.checkall.checked)
		{
			for (s=0; s<count; s++)
			{
				eval('document.forms.categories.cat'+(s+1)+'.checked=false;');
				eval('document.forms.categories.checkall.checked=false;');
				var playLabel = document.getElementById("filter1");
				if (playLabel)
					playLabel.firstChild.data = "Select All";											
			}
			stf = " ";
		}
		else
		{
			for (s=0; s<count; s++)
			{
				eval('document.forms.categories.cat'+(s+1)+'.checked=true;');
				eval('document.forms.categories.checkall.checked=true;');	
				var playLabel = document.getElementById("filter1");
				if (playLabel)
					playLabel.firstChild.data = "Clear All";				
				

			}
			stf = filternone;
		}
		ds1.filter(fkey,true);
	}
	
	//Slide function nest start
	
	var observer = {};
	
	observer.nextEffect = false;
	observer.onPostEffect = function(e){
		if (this.nextEffect)
		{
			var eff = this.nextEffect;
			setTimeout(function(){eff.start();}, 10);
		}
	
		this.nextEffect = false;
	}
	
	function myPanelsSlides(currentPanel)
	{
		// The list of all the panels that need sliding
		var panels = [ 'cal_month_view', 'cal_week_view',  'cal_day_view'];
		var opened = -1;
	
		// Let's check if we have an effect for each of these sliding panels
		if (typeof effects == 'undefined')
			effects = {};
	
		for (var i=0; i < panels.length; i++)
		{
			if (typeof effects[panels[i]] == 'undefined'){
				effects[panels[i]] = new Spry.Effect.Slide(panels[i], {from: '0%', to: '100%', toggle: true});
				effects[panels[i]].addObserver(observer);
			}
			 
			if (effects[panels[i]].direction == Spry.forwards && currentPanel != panels[i])
				opened = i;
	
			//prevent too fast clicks on the buttons
			if (effects[panels[i]].direction == Spry.backwards && effects[panels[i]].isRunning)
			{
				observer.nextEffect = effects[currentPanel];
				return;
			}
		}
	
		if (opened != -1)
		{
			observer.nextEffect = effects[currentPanel];
			effects[panels[opened]].start();
		} 
		else if (effects[currentPanel].direction != Spry.forwards)
		{
			effects[currentPanel].start();
		}
	};
	
	
	//Slide function nest end
	
