/* --------------------------------------------------------------------------------------------------------
AUTHOR:			Ryan Marincovich
DATE CREATED:	2008.12.3
File Purpose:	SGR Gift Card Innovations Common Javascript File
-------------------------------------------------------------------------------------------------------- */


// MAIN NAVIGATION FUNCTIONS/DATA ------------------------------------------

// load nav images
if (document.images) {
	nav_gift_cards_on = new Image();
	nav_gift_cards_on.src = "/_images/nav/nav_gift_cards_on.gif";
	nav_gift_cards_off = new Image();
	nav_gift_cards_off.src = "/_images/nav/nav_gift_cards_off.gif";
	nav_gift_cards_roll = new Image();
	nav_gift_cards_roll.src = "/_images/nav/nav_gift_cards_roll.gif";
	nav_programs_on = new Image();
	nav_programs_on.src = "/_images/nav/nav_programs_on.gif";
	nav_programs_off = new Image();
	nav_programs_off.src = "/_images/nav/nav_programs_off.gif";
	nav_programs_roll = new Image();
	nav_programs_roll.src = "/_images/nav/nav_programs_roll.gif";
	nav_samples_on = new Image();
	nav_samples_on.src = "/_images/nav/nav_samples_on.gif";
	nav_samples_off = new Image();
	nav_samples_off.src = "/_images/nav/nav_samples_off.gif";
	nav_samples_roll = new Image();
	nav_samples_roll.src = "/_images/nav/nav_samples_roll.gif";
	nav_contact_on = new Image();
	nav_contact_on.src = "/_images/nav/nav_contact_on.gif";
	nav_contact_off = new Image();
	nav_contact_off.src = "/_images/nav/nav_contact_off.gif";
	nav_contact_roll = new Image();
	nav_contact_roll.src = "/_images/nav/nav_contact_roll.gif";
	
	subnav_contact_on = new Image();
	subnav_contact_on.src = "/_images/nav/subnav_contact_on.gif";
	subnav_contact_off = new Image();
	subnav_contact_off.src = "/_images/nav/subnav_contact_off.gif";
	subnav_contact_roll = new Image();
	subnav_contact_roll.src = "/_images/nav/subnav_contact_roll.gif";
	subnav_email_form_on = new Image();
	subnav_email_form_on.src = "/_images/nav/subnav_email_form_on.gif";
	subnav_email_form_off = new Image();
	subnav_email_form_off.src = "/_images/nav/subnav_email_form_off.gif";
	subnav_email_form_roll = new Image();
	subnav_email_form_roll.src = "/_images/nav/subnav_email_form_roll.gif";
	subnav_programs_on = new Image();
	subnav_programs_on.src = "/_images/nav/subnav_programs_on.gif";
	subnav_programs_off = new Image();
	subnav_programs_off.src = "/_images/nav/subnav_programs_off.gif";
	subnav_programs_roll = new Image();
	subnav_programs_roll.src = "/_images/nav/subnav_programs_roll.gif";
	subnav_benefits_on = new Image();
	subnav_benefits_on.src = "/_images/nav/subnav_benefits_on.gif";
	subnav_benefits_off = new Image();
	subnav_benefits_off.src = "/_images/nav/subnav_benefits_off.gif";
	subnav_benefits_roll = new Image();
	subnav_benefits_roll.src = "/_images/nav/subnav_benefits_roll.gif";
	subnav_approach_on = new Image();
	subnav_approach_on.src = "/_images/nav/subnav_approach_on.gif";
	subnav_approach_off = new Image();
	subnav_approach_off.src = "/_images/nav/subnav_approach_off.gif";
	subnav_approach_roll = new Image();
	subnav_approach_roll.src = "/_images/nav/subnav_approach_roll.gif";
	subnav_program_details_on = new Image();
	subnav_program_details_on.src = "/_images/nav/subnav_program_details_on.gif";
	subnav_program_details_off = new Image();
	subnav_program_details_off.src = "/_images/nav/subnav_program_details_off.gif";
	subnav_program_details_roll = new Image();
	subnav_program_details_roll.src = "/_images/nav/subnav_program_details_roll.gif";
	subnav_packaging_on = new Image();
	subnav_packaging_on.src = "/_images/nav/subnav_packaging_on.gif";
	subnav_packaging_off = new Image();
	subnav_packaging_off.src = "/_images/nav/subnav_packaging_off.gif";
	subnav_packaging_roll = new Image();
	subnav_packaging_roll.src = "/_images/nav/subnav_packaging_roll.gif";
	subnav_displays_on = new Image();
	subnav_displays_on.src = "/_images/nav/subnav_displays_on.gif";
	subnav_displays_off = new Image();
	subnav_displays_off.src = "/_images/nav/subnav_displays_off.gif";
	subnav_displays_roll = new Image();
	subnav_displays_roll.src = "/_images/nav/subnav_displays_roll.gif";
}

// function to roll a nav button on
function navStayOn(which) {
	changeImages("nav_"+which,"nav_"+which+"_roll");
	return true;
}
// function to roll a nav button off
function navStayOff(which, state) {
	changeImages("nav_"+which,"nav_"+which+"_"+state);
	return true;
}

// function to roll a nav button on
function subnavStayOn(which) {
	changeImages("subnav_"+which,"subnav_"+which+"_roll");
	return true;
}
// function to roll a nav button off
function subnavStayOff(which, state) {
	changeImages("subnav_"+which,"subnav_"+which+"_"+state);
	return true;
}

// OVERLAY FUNCTIONS ----------------------------------------------
var isOverlayLoaded = false;

// build overlay objects (run onload)
function buildOverlay() {
	mainOverlayObj = eval(doc + '"mainOverlay"' + sty);
	overlayBGObj = eval(doc + '"overlayBG"' + sty);
	overlayGalleryObj = eval(doc + '"photoGallery"' + sty);
	overlayVideoPlayerObj = eval(doc + '"videoPlayer"' + sty);
	overlayViewerWindowObj = document.getElementById('mainOverlay');
	overlayViewerBodyObj = document.getElementById('bodyContainer');
	windowHeight = overlayViewerWindowObj.offsetHeight;
	contentHeight = overlayViewerBodyObj.offsetHeight;
	overlayBGObj.height = Math.max(windowHeight, contentHeight) + "px";
	// set var to note objects are built and ready
	isOverlayLoaded = true;
}

// function to open photo gallery overlay
function photoGalleryOpen(intResourceID, intFirstThumbID) {
	scroll(0, 0);
	mainOverlayObj.visibility = 'visible';
	overlayGalleryObj.visibility = 'visible';
	currGalleryImage = intFirstThumbID;
	var objGalleryContainer = document.getElementById("photoGallery");
	objGalleryContainer.innerHTML = '';
	ajaxOpenPhotoGallery(intResourceID);
}

// function to close photo gallery overlay
function photoGalleryClose(intNumThumbs) {
	mainOverlayObj.visibility = 'hidden';
	overlayGalleryObj.visibility = 'hidden';
	if (intNumThumbs > 0) {
		eval(doc + '"galleryMain' + currGalleryImage + '"' + sty + ".visibility = \'hidden\'");
		eval(doc + '"tinyThumbOn' + currGalleryImage + '"' + sty + ".visibility = \'hidden\'");
	}
	currGalleryImage = null;
}

function ajaxOpenPhotoGallery(intResourceID) {
	var xmlHttp = GetXmlHttpObject();
	var objGalleryContainer = document.getElementById("photoGallery");
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4) {
			objGalleryContainer.innerHTML = xmlHttp.responseText;
		}
	}
	var url = "/samples/sample-detail.php?intResourceID="+intResourceID;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

var currGalleryImage = null;

function turnOnFirstImage(which) {
	if (currGalleryImage == null) {
		currGalleryImage = which;
	}
	eval(doc + '"galleryMain' + currGalleryImage + '"' + sty + ".visibility = \'visible\'");
	eval(doc + '"tinyThumbOn' + currGalleryImage + '"' + sty + ".visibility = \'visible\'");
}

function galleryNavOver(which) {
	if ((currGalleryImage != null) && (currGalleryImage != which)) {
		eval(doc + '"galleryMain' + currGalleryImage + '"' + sty + ".visibility = \'hidden\'");
		eval(doc + '"tinyThumbOn' + currGalleryImage + '"' + sty + ".visibility = \'hidden\'");
	}
	currGalleryImage = which;
	eval(doc + '"galleryMain' + currGalleryImage + '"' + sty + ".visibility = \'visible\'");
	eval(doc + '"tinyThumbOn' + currGalleryImage + '"' + sty + ".visibility = \'visible\'");
	window.status = " ";
}

// function to stop a video (clears innerHTML of video frame)
function stopVideo() {
	mainOverlayObj.visibility = 'hidden';
	overlayVideoPlayerObj.visibility = 'hidden';
	var objVideoFrame = document.getElementById('videoFrame');
	objVideoFrame.innerHTML = '';
}

function switchTabs(strTab, intNumThumbs, intResourceID, intFirstThumbID, strVideoTitle, strFlashSRC) {
	if (strTab == "video") {
		overlayGalleryObj.visibility = 'hidden';
		if (intNumThumbs > 0) {
			eval(doc + '"galleryMain' + currGalleryImage + '"' + sty + ".visibility = \'hidden\'");
			eval(doc + '"tinyThumbOn' + currGalleryImage + '"' + sty + ".visibility = \'hidden\'");
		}
		currGalleryImage = null;
		
		overlayVideoPlayerObj.visibility = 'visible';
		
		// get frame objects
		var objVideoFrame = document.getElementById('videoFrame');
		overlayVideoHeaderObj = document.getElementById('videoHeader');
		// replace any apostrophes in title
		//if (strTab == 'details') {
		//	strVideoTitle = strVideoTitle.replace(/'/g, "\\'");
		//}
		// init header html var and fill with content
		var strHeaderHTML = '';
		strHeaderHTML += '<div class="gallery_title">' + strVideoTitle + '</div>';
		strHeaderHTML += '<a href="javascript:stopVideo();"><img src="/_images/overlay/close.gif" border="0" hspace="0" vspace="0" alt="Close" class="close_button" /></a>';
		strHeaderHTML += '<div class="overlay_tabs">';
		strHeaderHTML += '	<img src="/_images/overlay/video-on.gif" border="0" hspace="0" vspace="0" alt="Video" class="overlay_tab_link" />';
		strHeaderHTML += '	<a href="javascript:switchTabs(\'details\',' + intNumThumbs + ',' + intResourceID + ',' + intFirstThumbID + ', \'' + strVideoTitle.replace(/'/g, "\\'") + '\',\'' + strFlashSRC + '\');"><img src="/_images/overlay/details-off.gif" border="0" hspace="0" vspace="0" alt="Details" class="overlay_tab_link" /></a>';
		strHeaderHTML += '</div>';
		overlayVideoHeaderObj.innerHTML = strHeaderHTML;
		// init html var and fill with content
		var strHTML = '';
		if (strFlashSRC != "") {
			strHTML += '<div style="text-align:center; margin-bottom: 10px; display:none;">Playing: ' + strFlashSRC + '</div>';
			strHTML += '<script type="text/javascript">';
			strHTML += '	AC_FL_RunContent(\'writeToID\',\'videoFrame\',\'codebase\',\'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0\',\'width\',\'640\',\'height\',\'480\',\'wmode\',\'transparent\',\'title\',\'Video\',\'src\',\'sg_landing_video?strVideoFilename=' + strFlashSRC + '\',\'quality\',\'high\',\'pluginspage\',\'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\',\'movie\',\'sg_landing_video?strVideoFilename=' + strFlashSRC + '\');';
			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">';
			strHTML += '		<param name="movie" value="sg_landing_video.swf?strVideoFilename=' + strFlashSRC + '" />';
			strHTML += '		<param name="quality" value="high" />';
			strHTML += '		<param name="wmode" value="transparent" />';
			strHTML += '		<embed src="sg_landing_video.swf?strVideoFilename=' + 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>';
		} else {
			strHTML += '<div class="message_no_video">There is currently no video for this sample.  Please check back soon!</div>';
		}
		// 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);
		}
	} else {
		scroll(0, 0);
		overlayVideoPlayerObj.visibility = 'hidden';
		var objVideoFrame = document.getElementById('videoFrame');
		objVideoFrame.innerHTML = '';
		
		overlayGalleryObj.visibility = 'visible';
		currGalleryImage = intFirstThumbID;
		var objGalleryContainer = document.getElementById("photoGallery");
		objGalleryContainer.innerHTML = '';
		ajaxOpenPhotoGallery(intResourceID);
	}
}


// END OVERLAY FUNCTIONS ------------------------------------------

// UTILITY FUNCTIONS/DATA --------------------------------------------------

// sets cursor focus on the field given by param (formID.fieldID)
function formFocus(strFormAndFieldIDs) {
	if (isPageLoaded) {
		eval("document.forms." + strFormAndFieldIDs + ".focus();");
	} else {
		setTimeout("formFocus('" + strFormAndFieldIDs + "')", 100);
	}
}

// swap one or more images
function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			var argArray = arguments[i].split('.');
			var objName;
			if ((document.layers && argArray.length > 1) || argArray.length <= 1) {
				objName = eval("document." + arguments[i]);
			} else {
				objName = eval("document." + argArray[argArray.length - 1]);
			}
			objName.src = eval(changeImages.arguments[i+1] + ".src");
		}
	}
}

// dhtml layer variables for cross-browser compatability
if (document.layers) {	// Netscape 4
	doc = "document[";
	conDoc = "document";
	sty = "]";
	htm = ".document";
	cls = "].className";
} else if (document.getElementById) {	// NS 6 or IE 5 and up (W3C compliant browsers).
	doc = "document.getElementById(";
	conDoc = "document.getElementById(";
	sty = ").style";
	htm = ".document";
	cls = ").className";
} else if (document.all) {	// IE 4
	doc = "document.all[";
	conDoc = "document.all[";
	sty = "].style";
	htm = "";
	cls = "].className";
}