var j = jQuery.noConflict();

j().ready(function(){
 
	j('div.sdiv div.body').hide();
	j('div.sdiv').addClass('sdivs');
	
	j('div.sdiv.sdiv-form:not(:has(form))').each(function(){
		j(this).find('h3').toggleClass('open');
		j(this).find('div.body').slideToggle();
		j.scrollTo(this,1000,{axis:'y'});
	})
	
	j('div.sdiv h3').click(function(){
		j(this).toggleClass('open');
		j(this).closest('div.sdiv').find('div.body').slideToggle();
	});
	
	j('.calendar .calendar-names tbody td, .calendar .calendar-dates td.date').hover(function(){
		var date = j(this).parent().attr('class').split(' ')[0];
		j(this).closest('div.calendar').find('div.calendar-names tr.' + date + ', div.calendar-dates tr.' + date).toggleClass('selected');
	});
	
	var prevClick = null;
	j('.calendar .calendar-names tbody td').click(function(){
		var date = j(this).parent().attr('class').split(' ')[0];
		var datediv = j(this).closest('div.calendar').find('div.calendar-dates');
		var start = datediv.find('tr.' + date + ' td.date:first');
		var next = datediv.find('tr.' + date + ' td:first');
		if(prevClick == date || Math.abs(start.offset().left - datediv.offset().left) < 10){
			var maxScroll =  datediv.children().width() <= datediv.scrollLeft() + datediv.width() + 10;
			datediv.find('tr.' + date + ' td.date').each(function(){
			    if (j(this).offset().left > datediv.offset().left && !maxScroll){
			    	if(!j(this).prev().hasClass('date')) {
				    	next = j(this);
				    	return false;
			    	}
			    }
			});
		} else {
			next = start;
		}
		datediv.scrollTo(next,Math.abs(next.offset().left - datediv.offset().left) * 3,{axis:'x'});
		prevClick = date;
	});
	 
});
