/* --------------------------------------------------------------------------------------------------------
AUTHOR:			Ryan Marincovich
DATE CREATED:	2008.11.20
File Purpose:	SDB Common Javascript File
-------------------------------------------------------------------------------------------------------- */


// MAIN NAVIGATION FUNCTIONS/DATA ------------------------------------------

// load nav images
/*if (document.images) {
	nav_onlyone_on = new Image();
	nav_onlyone_on.src = "/_images/nav/nav_onlyone_on.gif";
	nav_onlyone_off = new Image();
	nav_onlyone_off.src = "/_images/nav/nav_onlyone_off.gif";
	nav_onlyone_roll = new Image();
	nav_onlyone_roll.src = "/_images/nav/nav_onlyone_roll.gif";
	nav_sds_on = new Image();
	nav_sds_on.src = "/_images/nav/nav_sds_on.gif";
	nav_sds_off = new Image();
	nav_sds_off.src = "/_images/nav/nav_sds_off.gif";
	nav_sds_roll = new Image();
	nav_sds_roll.src = "/_images/nav/nav_sds_roll.gif";
	nav_photos_on = new Image();
	nav_photos_on.src = "/_images/nav/nav_photos_on.gif";
	nav_photos_off = new Image();
	nav_photos_off.src = "/_images/nav/nav_photos_off.gif";
	nav_photos_roll = new Image();
	nav_photos_roll.src = "/_images/nav/nav_photos_roll.gif";

}*/

// other nav in header
var navRoll = function turnNavOn(navObj) {
	var currNavObj = eval(doc + '"' + navObj + '"' + sty);
	currNavObj.backgroundPosition = 'left center';
}
var navOff = function turnNavOn(navObj, strPos) {
	var currNavObj = eval(doc + '"' + navObj + '"' + sty);
	currNavObj.backgroundPosition = 'left ' + strPos;
}

/*// 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;
}*/

// 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);
	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\'");
		eval(doc + '"descriptionMain' + 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 = "/photos/photos-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\'");
	eval(doc + '"descriptionMain' + 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\'");
		eval(doc + '"descriptionMain' + currGalleryImage + '"' + sty + ".visibility = \'hidden\'");
	}
	currGalleryImage = which;
	eval(doc + '"galleryMain' + currGalleryImage + '"' + sty + ".visibility = \'visible\'");
	eval(doc + '"tinyThumbOn' + currGalleryImage + '"' + sty + ".visibility = \'visible\'");
	eval(doc + '"descriptionMain' + currGalleryImage + '"' + sty + ".visibility = \'visible\'");
	window.status = " ";
}
var isExpanded = false;

function toggleSample(name, reEvaluate, methodName) {
	var el = document.getElementById(name);
	var	change = new Animator().addSubject(new CSSStyleSubject(
    		el,
    		"width: 10em; background-color: rgb(256, 256, 256); font-style: normal",
    		"width: 40em; background-color: #F39; font-style: italic"));
	if (!isExpanded) {
		change.play();
		isExpanded = true;
	} else {
		change.reverse();
		isExpanded = false;
	}
}


// 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";
}
