var calcontrol;
function init() {

	calcontrol = new CalendarPopup();

}



function FilterClasses(sDate) {

	// Get selected instructor
	var oInstructor = document.getElementById('optInstructor');
	var sSelectedInstructor = oInstructor.options[oInstructor.selectedIndex].value;
	
	
	// Get selected visit type
	var oVisitType = document.getElementById('optVT');
	var sSelectedVisitType = oVisitType.options[oVisitType.selectedIndex].value;
	
	// Get selected date
	// If date was passed into function, then use that instead of text field
	var sSelectedDate = '';
	if (typeof(sDate) != 'undefined') {
		sSelectedDate = sDate;
	} else {
		var oDateField = document.getElementById('txtDate');
		sSelectedDate = oDateField.value;
	}


	// Create new querystring
	var QueryString = '';
	if (sSelectedInstructor != 'All') {
		QueryString += '&Instructor=' + sSelectedInstructor;
	}
	if (sSelectedVisitType != 'All') {
		QueryString += '&VisitType=' + sSelectedVisitType;
	}
	QueryString += '&SDate=' + sSelectedDate;
	
	QueryString = QueryString.substr(1);
	
	document.location.href = location.pathname + '?' + QueryString;

}


function ChangeFilterByType(sType) {

	// Get current day
	var aDateParts = sCurrentDay.split('/');

	var oDate = new Date(aDateParts[2] , aDateParts[0] , aDateParts[1]);
	
	switch (sType) {
		case 'YESTERDAY':
			oDate.setDate(oDate.getDate() - 1);
			break;
		case 'TODAY':
			oDate = new Date();
			oDate = new Date(oDate.getFullYear() , oDate.getMonth() + 1 , oDate.getDate());
			break;
		case 'TOMORROW':
			oDate.setDate(oDate.getDate() + 1);
			break;
		case 'LAST_WEEK':
			oDate.setDate(oDate.getDate() - 7);
			break;
		case 'NEXT_WEEK':
			oDate.setDate(oDate.getDate() + 7);
			break;
	}
	
	FilterClasses(FormatDate(oDate));

}

function FormatDate(oDate) {

	var sDate = '';
	
	sDate = oDate.getMonth() + '/' + oDate.getDate() + '/' + oDate.getFullYear();

	return sDate;

}


function printWindow() {
bV = parseInt(navigator.appVersion);
	if (bV >= 4) {
		window.focus();
		window.print();
	}
}
function addToFavorites(sType) {
	var favoritesURL = "http://www.mahayoga.com/classes.html";
	if (sType!=0) {
		favoritesURL += "&sType=" + sType;
	}
	var favoritesName = "Maha Yoga Online";
	if (window.sidebar) { // firefox
		window.sidebar.addPanel(favoritesName, favoritesURL, "");
	} else if(window.opera && window.print) { // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',favoritesURL);
		elem.setAttribute('title',favoritesName);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} else if(document.all) {	// ie
		window.external.AddFavorite(favoritesURL, favoritesName);
	}
}

   



// Functions for popup layer that displays teacher bio information and class description information
function ClosePop() {

    document.getElementById('lyrPop').innerHTML = '';
	document.getElementById('lyrPop').style.visibility = 'hidden';

}

function PopLayer(sClassName , sClassDescription) {

	var sHTML = '';
	
	sHTML += '<strong>' + sClassName + '</strong>';
	sHTML += '<div style="clear: both; height: 10px;">&nbsp;</div>';
	sHTML += sClassDescription;
	sHTML += '<div style="clear: both; height: 35px;">&nbsp;</div>';
	sHTML += '<div style="text-align: center;"><a href="javascript: ClosePop();" style="background-color: #cccccc; border: 1px solid #000000; padding: 1px; text-decoration: none;">Close</a></div>';
	document.getElementById('lyrPop').innerHTML = sHTML;
	
	var aLayerAlign = centerView(document.getElementById('lyrPop') , false);

	if (aLayerAlign[0] < 250) { 
		aLayerAlign[0] = 250;
	}
	document.getElementById('lyrPop').style.top = aLayerAlign[0] + 'px';
	document.getElementById('lyrPop').style.left = aLayerAlign[1] + 'px';
	
	document.getElementById('lyrPop').style.visibility = 'visible';
	
	return;

}

function centerView(layer/*no display:none*/, doNotAddOffsets){
if(typeof layer=="string"){layer=document.getElementById(layer);};
if(layer){
var parent=layer.parentNode;/*unless body tag, must have position to relative or absolute*/
//parent.style.overflow="auto";
layer.style.position="absolute";/*much better if top and left are specified in style, with 'px'*/
layer.style.top=layer.style.top||layer.offsetTop+'px';
layer.style.left=layer.style.left||layer.offsetLeft+'px';
var clientH=0, clientW=0, offsetT=0, offsetL=0, top=0, left=0;
	if(parent && parent.nodeType==1/*a tag*/){
		if(parent.nodeName=="BODY"){
			if(typeof window.innerHeight!="undefined"){clientH=window.innerHeight; clientW=window.innerWidth;}
			else if(document.documentElement && document.documentElement.clientHeight){clientH=document.documentElement.clientHeight; clientW=document.documentElement.clientWidth;}
			else if(document.body.clientHeight){clientH=document.body.clientHeight; clientW=document.body.clientWidth;}
			else{clientH=parent.clientHeight; clientW=parent.clientWidth;};
			//
			if(typeof pageYOffset!="undefined"){offsetT=pageYOffset; offsetL=pageXOffset;}
			else if(document.documentElement && document.documentElement.scrollTop){offsetT=document.documentElement.scrollTop; offsetL=document.documentElement.scrollLeft;}
			else if(document.body && typeof document.body.scrollTop!="undefined"){offsetT=document.body.scrollTop; offsetL=document.body.scrollLeft;}
			else{offsetT=0; offsetL=0;};
		top=Math.abs(parent.offsetTop + ((clientH/2) - (layer.offsetHeight/2)));
		left=Math.abs(parent.offsetLeft + ((clientW/2) - (layer.offsetWidth/2)));
		}
		else{
		clientH=parent.offsetHeight; clientW=parent.offsetWidth;
		offsetT=parent.scrollTop; offsetL=parent.scrollLeft;
		top=Math.abs(((clientH/2) - (layer.offsetHeight/2))); left=Math.abs(((clientW/2) - (layer.offsetWidth/2)));
		};
	if(!doNotAddOffsets){top+=offsetT; left+=offsetL;};
	//layer.style.top=top+'px';//comment out to avoid positioning and allow returning only
	//layer.style.left=left+'px';//comment out to avoid positioning and allow returning only
	return [top, left, top+'px', left+'px'];
	};
};
/* code borrowed from: http://www.fullposter.com/snippets.php?snippet=55 */}
