/* --------------------------------------------------------------------------------------------------------
AUTHOR:			Ryan Marincovich
DATE CREATED:	2009.3.30
Client:			InterplX
File Purpose:	Common Javascript File
-------------------------------------------------------------------------------------------------------- */


// MAIN NAVIGATION FUNCTIONS/DATA ------------------------------------------

// load nav images
if (document.images) {
	nav_about_on = new Image();
	nav_about_on.src = "/_images/nav/nav_about_on.gif";
	nav_about_off = new Image();
	nav_about_off.src = "/_images/nav/nav_about_off.gif";
	nav_about_roll = new Image();
	nav_about_roll.src = "/_images/nav/nav_about_roll.gif";
	nav_solutions_on = new Image();
	nav_solutions_on.src = "/_images/nav/nav_solutions_on.gif";
	nav_solutions_off = new Image();
	nav_solutions_off.src = "/_images/nav/nav_solutions_off.gif";
	nav_solutions_roll = new Image();
	nav_solutions_roll.src = "/_images/nav/nav_solutions_roll.gif";
	nav_partners_on = new Image();
	nav_partners_on.src = "/_images/nav/nav_partners_on.gif";
	nav_partners_off = new Image();
	nav_partners_off.src = "/_images/nav/nav_partners_off.gif";
	nav_partners_roll = new Image();
	nav_partners_roll.src = "/_images/nav/nav_partners_roll.gif";
	nav_case_studies_on = new Image();
	nav_case_studies_on.src = "/_images/nav/nav_case_studies_on.gif";
	nav_case_studies_off = new Image();
	nav_case_studies_off.src = "/_images/nav/nav_case_studies_off.gif";
	nav_case_studies_roll = new Image();
	nav_case_studies_roll.src = "/_images/nav/nav_case_studies_roll.gif";
	nav_pricing_on = new Image();
	nav_pricing_on.src = "/_images/nav/nav_pricing_on.gif";
	nav_pricing_off = new Image();
	nav_pricing_off.src = "/_images/nav/nav_pricing_off.gif";
	nav_pricing_roll = new Image();
	nav_pricing_roll.src = "/_images/nav/nav_pricing_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";
}

// vars for dropdown menus
var navTimer = null;
var navSubTimer = null;
var currNav = null;
var currSubNav = null;
var navHideDelay = 500;
var isNavLoaded = false;

// 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 navOn(which) {
	showNav(which);
	return true;
}
function navOff(which) {
	hideNav(which);
	return true;
}
// build dropdown objects (run onload)
function buildNav() {
	aboutDropNavObj = eval(doc + '"aboutDropNav"' + sty);
	solutionsDropNavObj = eval(doc + '"solutionsDropNav"' + sty);
	partnersDropNavObj = eval(doc + '"partnersDropNav"' + sty);
	case_studiesDropNavObj = eval(doc + '"case_studiesDropNav"' + sty);
	contactDropNavObj = eval(doc + '"contactDropNav"' + sty);
	isNavLoaded = true;
}


// shows a dropdown menu, hides any other dropdown that is currently showing
function showNav(which) {
	if (isNavLoaded) {
		clearTimeout(navTimer);
		navTimer = null;
		if ((currNav != null) && (currNav != which)) {
			eval(currNav + "DropNavObj.visibility = 'hidden'");
		}
		if ((which == "about") || (which == "solutions") || (which == "partners") || (which == "case_studies") || (which == "contact")) {
			currNav = which;
			eval(currNav + "DropNavObj.visibility = 'visible'");
		}
	}
}

// hides a dropdown menu on a time delay
function hideNav(which) {
	if (isNavLoaded) {
		clearTimeout(navTimer);
		navTimer = null;
		if ((which == "about") || (which == "solutions") || (which == "partners") || (which == "case_studies") || (which == "contact")) {
			navTimer = setTimeout(which + "DropNavObj.visibility = 'hidden'", navHideDelay);
		}
	}
}


// OVERLAY FUNCTIONS ----------------------------------------------
var isOverlayLoaded = false;

// build overlay objects (run onload)
function buildOverlay() {
	mainOverlayObj = eval(doc + '"mainOverlay"' + sty);
	overlayBGObj = eval(doc + '"overlayBG"' + sty);
	overlayF2FObj = eval(doc + '"overlayF2F"' + sty);
	overlayViewerWindowObj = document.getElementById('overlayBG');
	overlayViewerBodyObj = document.getElementById('container');
	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 f2f form overlay
function f2fOpen() {
	scroll(0, 0);
	mainOverlayObj.visibility = 'visible';
	overlayF2FObj.visibility = 'visible';
}
// function to close f2f form overlay
function f2fClose() {
	mainOverlayObj.visibility = 'hidden';
	overlayF2FObj.visibility = 'hidden';
}

var currGalleryImage = null;

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 = " ";
}

// 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";
}