var theCart = null;
var thePix = "";

function Mod(X, Y) {
    return X - Math.floor(X / Y) * Y;
}

function initFX()  {
	textSpanFade = new Fx.Style('textspan2', 'opacity', {
		duration: 500, 
		transition: Fx.Transitions.Quart.easeInOut
	});
	textContentFade = new Fx.Style('text_content', 'opacity', {
		duration: 1000, 
		transition: Fx.Transitions.Quart.easeInOut
	});
	imageBoxSlide = new Fx.Style('imagebox1', 'height', {
		duration: 500, 
		transition: Fx.Transitions.Quart.easeInOut
	});
	var myMenu = new ImageMenu($$('#imageMenu a'),{openWidth:330, border:2, onOpen:function(e,i){albumMenu(e);}});

}

function resetPage(){
	showIt("imagebox1");
	hideIt("textspan2");
}
	
function showIt(thingToChange){
	if ($(thingToChange).hasClass('invisible')) {
		switch (thingToChange) {
			case "imagebox1":
				imageBoxSlide.start(0,300);
				break;
			case "textspan2":
				textSpanFade.start(0,1);
				break;
			case "text_content":
			    textContentFade.start(0,1);
			    break;
		}
		$(thingToChange).removeClass('invisible');
	}
}

function hideIt(thingToChange){
	if (!($(thingToChange).hasClass('invisible'))) {
		switch (thingToChange) {
			case "imagebox1":
				imageBoxSlide.start(300,0);
				break;
			case "textspan2":
				textSpanFade.start(1,0);
				break;
			case "text_content":
			    textContentFade.start(1,0);
			    break;
		}
		$(thingToChange).addClass('invisible');
	}
}

function getNshowData(theAreaDir, theSubareaFile,theContainer) {
	filetoget = "content/" + theAreaDir + "/" + theSubareaFile;
 	if (theContainer!="centersinfo") {
 		hideIt("imagebox1");
 		hideIt("textspan2");
 		$('textspan2').innerHTML = "";
 		textContentFade.set(0);
 		$('text_content').addClass('invisible');
 		new Ajax(filetoget, {method: 'get', update: theContainer, onComplete: function(){showIt("text_content");}}).request();
	} else new Ajax(filetoget, {method: 'get', update: theContainer}).request();
	
}
/*******BULLETIN AND CALENDAR FUNCTIONS*****************************************************************************************************************/

function loadBulletin(period) {
	if (period != 'week') {
		hideIt("imagebox1");
		$('textspan2').innerHTML="";
	}
	calendarJunk(period);
}

function calendarJunk(period) {
		moName = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
		dayName = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
		englishQuirk = new Array("th","st","nd","rd","th","th","th","th","th","th");
		taday = new Date();
		endDay = new Date();
		eventHtml = "";
		htmlToSend = "";
		announcements = "";
		tempListing = "";
		firstAnnouncement = true;
		switch(period) {
		case "week":
			showIt("imagebox1");
			htmlToSend = "<h1>This Week On The Schedule...</h1><hr><br>";
			endDay.setDate(taday.getDate() + 8);
			for (var index = 0; index <theEvents.bulletin.length; ++index) {
  				var eventItem = theEvents.bulletin[index];
				var splitDate = eventItem.date.split(",");
				eventDate = new Date();
				//for browser compat.
				eventDate.setFullYear(splitDate[0]-0);
				eventDate.setMonth(splitDate[1]-1);
				eventDate.setDate(splitDate[2]-0);
				if (eventDate >= taday && eventDate <= endDay && eventItem.type != "ANNOUNCEMENT") {
					eventHtml = dayName[eventDate.getDay()] + ", " + moName[eventDate.getMonth()] + eventDate.getDate() + englishQuirk[Mod(eventDate.getDate(),10)] + " at " + eventItem.time + ", " + eventItem.type + " in " + eventItem.location + ":<br>&nbsp&nbsp <i>" + eventItem.title + "</i><br><br>";
					htmlToSend = htmlToSend + eventHtml;
				}
				if (eventItem.type == "ANNOUNCEMENT") { 
					var announceTimePeriod = eventItem.time - 0;
					var announceEnd = new Date();
					announceEnd.setDate(eventDate.getDate() + announceTimePeriod);
					if (announceEnd >= taday) {
						if (firstAnnouncement == true) {
							announcements = "<h1>Announcement:</h1><br>&nbsp&nbsp " + eventItem.title + "<br><br>";
							firstAnnouncement = false;
						} else announcements = announcements + "&nbsp&nbsp " + eventItem.title + "<br><br>";
					}
				}
			};
			if (eventHtml=="") {
				htmlToSend = htmlToSend + "&nbsp&nbsp No scheduled events this week.";
			}
			htmlToSend = announcements + htmlToSend + "<br><br><a style=\"cursor:pointer;\" onclick=\"loadBulletin('Month')\">The Month Ahead...</a>";
			break;
		case "Month":
			endDay.setDate(taday.getDate() + 31);
			prevmo = taday.getMonth(); 
			htmlToSend = "<b>" + moName[prevmo] + " at the Society:</b><hr><br>";
			for (var index = 0; index < theEvents.bulletin.length; ++index) {
  				var eventItem = theEvents.bulletin[index];
				var splitDate = eventItem.date.split(",");
				eventDate = new Date();
				//for browser compat.
				eventDate.setFullYear(splitDate[0]-0);
				eventDate.setMonth(splitDate[1]-1);
				eventDate.setDate(splitDate[2]-0);
				if (eventDate >= taday && eventDate <= endDay && eventItem.type != "ANNOUNCEMENT") {
					if (eventDate.getMonth() != prevmo) {
						prevmo = eventDate.getMonth();
						htmlToSend = htmlToSend + "<b><IMG src=\"images/icon-bulletin.jpg\" alt=\"bulletin\" width=\"50\" height=\"50\" align=\"middle\" border=\"0\"><br>" + moName[prevmo] + ":</b><hr><br>";
					}
					eventHtml = dayName[eventDate.getDay()] + ", " + moName[eventDate.getMonth()] + eventDate.getDate() + englishQuirk[Mod(eventDate.getDate(),10)] + " at " + eventItem.time + ", " + eventItem.type + " in " + eventItem.location + ":<br>&nbsp&nbsp <i>" + eventItem.title + "</i><br><br>";
					htmlToSend = htmlToSend + eventHtml;
				}
				if (eventItem.type == "ANNOUNCEMENT") {
					var announceTimePeriod = eventItem.time - 0;
					var announceEnd = eventDate + announceTimePeriod;
					if (announceEnd >= taday) {
						eventHtml = "Announcement:<br>&nbsp&nbsp" + eventItem.title + "<br><br>";
						htmlToSend = eventHtml + htmlToSend;
					}
				}
			};

			break;
		default:
			break;
		}
		$('text_content').innerHTML = htmlToSend;
		showIt("text_content");
			
	}


/*******PICTURE HANDLING FUNCTIONS*****************************************************************************************************************/

function albumMenu(album) {
	var thealbum =  album.split("/");
	album = thealbum[thealbum.length -1];
	var thedir = "images/";
	thedir = thedir + album + "/";
	var thehtml = "";
	var imgname = "";
	var imgcap = "";
	var counter;
	hideIt("imagebox1");
	showIt("textspan2");
	hideIt('text_content');
	for (counter = 0; counter < thePix.photos.length; counter ++) {
	if (thePix.photos[counter].album == album) {
		imgname=thedir + thePix.photos[counter].filename + ".jpg";
		iconname=thedir + thePix.photos[counter].filename + "-icon.jpg";
		imgcap=thePix.photos[counter].caption;
		thehtml = thehtml + "<div style=\"cursor:pointer; margin-top: 5px; margin-left:25px; margin-bottom:0px; float: left; border: white solid 3px; height:75px; width:100px; overflow:hidden; background: white url(" + iconname + ") no-repeat center;\" onclick=\"Lightbox.show('" + imgname + "', '" + imgcap + "');\">&nbsp<br><br><br><br><br><br><br></div> ";
	}
	}
	//resetPage();
	$('textspan2').removeClass('invisible');
	$('textspan2').innerHTML = thehtml;
}
//changed to moo

/*******GOOGLE MAPS FUNCTIONS*****************************************************************************************************************/

function loadGoogle(wutmap) {
	//latitude and longitude for the map to display
	var lat = null;
	var lon = null;
	//text for info box details
	var boxText = "";
	switch (wutmap) {
		case 'society': 
			lat = 37.795192;
			lon = -122.435549;
			boxText = "Vedanta Society of Northern California<br>2323 Vallejo Street<br>San Francisco, CA 94123<br>Phone: (415) 922-2323<br>Email: temple@sfvedanta.org";
			break;
		case 'olema':
			lat = 38.035000;
			lon = -122.789944;
			boxText = "Vedanta Society Olema Retreat Center";
			break;
	}
	if (!($('imagebox1').hasClass('invisible'))) {
		$('imagebox1').effect('height').start(0);
		$('imagebox1').addClass('invisible');
	}
	if (GBrowserIsCompatible()) {
	var map = new GMap2(document.getElementById("text_content"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(lat,lon), 15);
	map.setMapType(G_HYBRID_TYPE); 
	map.openInfoWindow(map.getCenter(), boxText);
      }
    }

/*******BOOKSHOP AND SHOPPING CART FUNCTIONS*****************************************************************************************************************/

function booksearch(referee){
	var searchString = $(referee).getValue();
	var toQuery = Object.toQueryString({tosearch: searchString, theorigin: referee}); //holds query string for search.
	hideIt("imagebox1");
	showIt("textspan2");
	$('textspan2').innerHTML = "<br><br><br><h1>Processing Request...</h1>";
	new Ajax('content/bookshop/phpscripts/searchResults.php', {method: 'post', data: toQuery, update: $('textspan2')}).request();
}

function initCart(){
	var cartURL = "security/shopcart.html";
	var cartName = "theCart";
	var cartFeatures = "location=0,toolbar=0,status=0,scrollbars=1,width=480,height=570";
	if (theCart == null || theCart.closed)
		{
			theCart = open(cartURL,cartName,cartFeatures);
		}
}

function clearCookies() {
	document.cookie="id=0" ;
	document.cookie="ttl=0" ;
	document.cookie="price=0" ;
}

function buyBook(bookID,bookTitle, bookPrice, isbn, auth) {
	initCart();
	document.cookie="id=" + bookID;
	document.cookie="ttl=" + bookTitle;
	document.cookie="price=" + bookPrice;
	document.cookie="isbn=" + isbn;
	document.cookie="author=" + auth;
	theCart.focus();
}
/*******END SHOPPING CART FUNCTIONS*****************************************************************************************************************/

