/* --------------------------------------------------------------------------------------------------------
AUTHOR:			Ryan Marincovich (ryan@bicycletheory.com)
Date Created:   2010.10.08
Client:         Awaken Pilates
File Purpose:	Common Javascript File
-------------------------------------------------------------------------------------------------------- */


// function to generate an addthis button
var buildAddThisButton = function(strAltURL, strAltTitle) {
	// set alt params for a tag
	var strAltURLParam = '';
	var strAltTitleParam = ''
	if (strAltURL) strAltURLParam = ' addthis:url="' + strAltURL + '"';
	if (strAltTitle) strAltTitleParam = ' addthis:title="' + strAltTitle + '"';
	// set alt params for old mouseover that is needed to work in an overlay
	if (!strAltURL) strAltURL = '[URL]';
	if (!strAltTitle) strAltTitle = '[TITLE]';
	return '<a href="http://addthis.com/bookmark.php?v=250&amp;username=bicycletheoryawk" class="addthis_button"' + strAltURLParam + strAltTitleParam + ' onmouseover="return addthis_open(this, \'\', \'' + strAltURL + '\', \'' + strAltTitle + '\')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="/_images/buttons/share.gif" alt="Bookmark and Share" align="absmiddle" class="share"></a><script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=bicycletheoryawk"></script>';
}

/* ---------- OVERLAY AND MEDIA DATA AND FNS ------------------------------------------------ */
var isOverlayLoaded = false;

// build overlay objects (run onload)
function buildOverlay() {
	
	// global overlay elements
	overlayMainObj = document.getElementById('mainOverlay');
	overlayBodyObj = document.getElementById('container');
	overlayBGObj = document.getElementById('overlayBG');
	overlayGalleryObj = document.getElementById('photoGallery');
	overlayVideoPlayerObj = document.getElementById('videoPlayer');
	
	// calc height
	windowHeight = overlayMainObj.offsetHeight;
	contentHeight = overlayBodyObj.offsetHeight;
	overlayBGObj.style.height = Math.max(windowHeight, contentHeight) + "px";
	
	// set var to note objects are built and ready
	isOverlayLoaded = true;
}

// function to open flash photo gallery
function galleryOpen() {
	scroll(0, 0);
	overlayMainObj.style.visibility = 'visible';
	overlayGalleryObj.style.visibility = 'visible';
}

// function to open photo gallery 
function photoGalleryOpen(intResourceID, strGalleryTitle, strDetailURL) {
	// open the overlay
	galleryOpen();
	
	// load galleria
	Galleria.loadTheme("/_js/aino-galleria-ee792e2/src/themes/classic/galleria.classic.js");
	
	// get frame objects
	var objGalleryContainer = document.getElementById('galleryOverlay');
	overlayGalleryTitleObj = document.getElementById("galleryTitle");
	overlayGalleryLinksObj = document.getElementById("galleryLinks");
	overlayGalleryAddThisObj = document.getElementById('photoGalleryAddThis');
	overlayGalleryTitleObj.innerHTML = strGalleryTitle;
	overlayGalleryLinksObj.innerHTML = '<a href="/photo-galleries-detail.php?intResourceID=' + intResourceID + '">Details</a>';
	overlayGalleryAddThisObj.innerHTML = buildAddThisButton(strDetailURL, strGalleryTitle + ' (Awaken)');
	
	// load in gallery html via ajax
	if (objGalleryContainer != null) {
		var xmlHttp = GetXmlHttpObject();
		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState == 4) {
				objGalleryContainer.innerHTML = xmlHttp.responseText;
				$("#galleryOverlay").galleria("classic", { height: 525 });
			}
		}
		xmlHttp.open("GET", "/_feeds/photo_gallery.php?intResourceID="+intResourceID, true);
		xmlHttp.send(null);
	}

	/*
	// init html var and fill with content
	var strHTML = '';
	strHTML += '<div style="text-align:center; margin-bottom: 10px; display:none;">Photo Gallery ' + intResourceID + '</div>';
	strHTML += '<script type="text/javascript">';
	strHTML += '	buildFlashMovie(640, 480, \'' + strFlashSRC + '\', 9, \'\', "photoGalleryFlash");';
	strHTML += '<\/script>';
	strHTML += '<noscript>';
	strHTML += '	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="640" height="480" title="Photo Gallery">';
	strHTML += '		<param name="movie" value="' + intResourceID + '">';
	strHTML += '		<param name="quality" value="high">';
	strHTML += '		<param name="bgcolor" value="#000000">';
	strHTML += '		<embed src="' + intResourceID + '" quality="high" bgcolor="#000000" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="640" height="480"></embed>';
	strHTML += '	</object>';
	strHTML += '</noscript>';
	// set frame html
	objGalleryContainer.innerHTML = strHTML;
	// eval all script that was set in html
	var x = objGalleryContainer.getElementsByTagName("script");
	for (var i=0; i < x.length; i++) {
		eval(x[i].text);
	}
	*/
}

// function to close flash photo gallery (clears innerHTML of video frame)
function closeGallery() {
	overlayMainObj.style.visibility = 'hidden';
	overlayGalleryObj.style.visibility = 'hidden';
	var objGallery = document.getElementById('photoGalleryFlash');
	objGallery.innerHTML = '';
}


// function to open video overlay
function videoPlayerOpen() {
	scroll(0, 0);
	overlayMainObj.style.visibility = 'visible';
	overlayVideoPlayerObj.style.visibility = 'visible';
}

// define function to start playing a video in a div obj without reloading the page
function openVideoDetail(intResourceID, strVideoTitle, strFlashSRC, strDetailURL) {
	// open the overlay
	videoPlayerOpen();
	// get frame objects
	overlayVideoTitleObj = document.getElementById("videoTitle");
	overlayVideoLinksObj = document.getElementById("videoLinks");
	overlayVideoPlayerAddThisObj = document.getElementById('videoPlayerAddThis');
	overlayVideoTitleObj.innerHTML = strVideoTitle;
	overlayVideoLinksObj.innerHTML = '<a href="/videos-detail.php?intResourceID=' + intResourceID + '">Details</a>';
	overlayVideoPlayerAddThisObj.innerHTML = buildAddThisButton(strDetailURL, strVideoTitle + ' (Awaken)');
	// init html var and fill with content
	var strHTML = '';
	if (strFlashSRC.substr(0, 3) == 'yt=') {
		// youtube video
		var objVideoFrame = document.getElementById('videoFrameYT');
		strYouTubeID = strFlashSRC.substring(3, strFlashSRC.length);
		strHTML += '<object width="640" height="505">';
		strHTML += '	<param name="movie" value="http://www.youtube.com/v/' + strYouTubeID + '&hl=en_US&fs=1&autoplay=1&"></param>';
		strHTML += '	<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>';
		strHTML += '	<embed src="http://www.youtube.com/v/' + strYouTubeID + '&hl=en_US&fs=1&autoplay=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed>';
		strHTML += '</object>';
	} else {
		// venyou-uploaded video
		var objVideoFrame = document.getElementById('videoFrame');
		strHTML += '<div style="text-align:center; margin-bottom: 10px; display:none;">Playing: ' + strFlashSRC + '</div>';
		strHTML += '<script type="text/javascript">';
		strHTML += '	buildFlashMovie(640, 480, \'' + strFlashSRC + '\', 9, \'\', "videoFrame");';
		strHTML += '<\/script>';
		strHTML += '<noscript>';
		strHTML += '	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="640" height="480" title="Video Player">';
		strHTML += '		<param name="movie" value="' + strFlashSRC + '">';
		strHTML += '		<param name="quality" value="high">';
		strHTML += '		<param name="wmode" value="transparent">';
		strHTML += '		<embed src="' + strFlashSRC + '" quality="high" wmode="transparent" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="640" height="480"></embed>';
		strHTML += '	</object>';
		strHTML += '</noscript>';
	}
	// set video frame html
	objVideoFrame.innerHTML = strHTML;
	// eval all script that was set in html
	var x = objVideoFrame.getElementsByTagName("script");
	for (var i=0; i < x.length; i++) {
		eval(x[i].text);
	}
}

// function to stop a video (clears innerHTML of video frame)
function stopVideo() {
	overlayMainObj.style.visibility = 'hidden';
	overlayVideoPlayerObj.style.visibility = 'hidden';
	var objVideoFrame = document.getElementById('videoFrame');
	objVideoFrame.innerHTML = '';
	objVideoFrame = document.getElementById('videoFrameYT');
	objVideoFrame.innerHTML = '';
}


