
// Preload images functions

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		hnav_home_over = newImage("images/hnav_home-over.gif");
		hnav_approach_over = newImage("images/hnav_approach-over.gif");
		hnav_solutions_over = newImage("images/hnav_solutions-over.gif");
		hnav_clients_over = newImage("images/hnav_clients-over.gif");
		hnav_team_over = newImage("images/hnav_team-over.gif");
		hnav_contact_over = newImage("images/hnav_contact-over.gif");
		preloadFlag = true;
	}
}

//So this function here gets the flash movie to our javascript app

/*function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
    return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}
*/

function updateTestimonial(section) {

	// make sure the testimonial div is visible, then update the quote
//	sBoxId = "flashClients";
	if (document.getElementById) {
/*		oBox = document.getElementById(sBoxId);
		if (oBox != null) {
			GotoSection(section); // update the flash movie testimonial
		}	
*/
	    changeDisplayState(section, "testimonial");
	}
}

/*
function GotoSection(section){
	var flashMovie=getFlashMovieObject("nq_client");
	if(flashMovie){
		var place = (30 * section) + 1;
		flashMovie.GotoFrame(place);
		flashMovie.Play();
	}
}
*/

function initialize() {
	
	// display the correct content on the page
    var section = location.search;
    var div = section.substr(1);
    if (div != "") {
        changeDisplay(div);
    }
	//preloadImages();
}


// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 5;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// -----------------------------------------------------------------------------
// 

 // Detect Client Browser type
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Can't detect in all other cases
	else {	
		flashVer = -1;
	}
	return flashVer;
} 
// If called with no parameters this function returns a floating point value 
// which should be the version of the Flash Player or 0.0 
// ex: Flash Player 7r14 returns 7.14
// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// loop backwards through the versions until we find the newest version	
	for (i=25;i>0;i--) {	
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);		
		}
		if (versionStr == -1 ) { 
			return false;
		} else if (versionStr != 0) {
			if(isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			} else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
	return (reqVer ? false : 0.0);
}


function modifyContent(item, newContent) {
	var div = document.getElementById(item);
	if (div != null) {
		if (div.hasChildNodes()) {
			div.removeChild(div.firstChild);
		}
		div.appendChild(document.createTextNode(newContent));
	}
}


function changeStyle(sElement, sPropertyName, sNewValue)
{
    oElement = document.getElementById(sElement);
	if (oElement != null) {
		// get element style attribute
		oStyle = oElement.style;
		// apply new style value to provided property
		eval("oStyle." + sPropertyName + " = '" + sNewValue + "'");
	}
}


/* change which bio div is currently displayed - used for bios on team page*/

function changeDisplayState(iItem, prefix) {

	divPrefix = prefix;
	linkPrefix = prefix + "Link";
	divId = divPrefix + iItem;
	linkId = linkPrefix + iItem;

	if (document.getElementById) {

		for (i = 1; i < 10; i++) {
			iDivId = divPrefix + i;
			iLinkId = linkPrefix + i;
			changeStyle(iDivId, "display", "none");
			oLink = document.getElementById(iLinkId);
			if (oLink != null) {
				oLink.className = "";
			}
		}
		changeStyle(divId, "display", "block");
		
		oLink = document.getElementById(linkId);
		if (oLink != null) {
			oLink.className = "selected";
		}
	}
}

function changeClass(sElement, newClass) {
    if (document.getElementById) {
        oElement = document.getElementById(sElement);
        if (oElement != null) {
            oElement.className = newClass;
        }
    }
}

/* change which main page content div is currently displayed*/
function changeDisplay(divName) {

	var linkPrefix = "hnav_";
	var linkId = linkPrefix + divName;

	if (document.getElementById) {

        changeStyle("approach", "display", ("approach" == divName) ? "block" : "none");
        changeStyle("solutions", "display", ("solutions" == divName) ? "block" : "none");
        changeStyle("clients", "display", ("clients" == divName) ? "block" : "none");
        changeStyle("team", "display", ("team" == divName) ? "block" : "none");
        changeStyle("references", "display", ("references" == divName) ? "block" : "none");
        changeStyle("contact", "display", ("contact" == divName) ? "block" : "none");  
        
        // Also need to change the flash div displayed
//        changeStyle("flashAll", "display", ("clients" == divName) ? "none" : "block");
//        changeStyle("flashClients", "display", ("clients" == divName) ? "block" : "none");
                                       
        // change the selected state of the horz menu
        changeClass("hnav_approach", ("approach" == divName) ? "selected" : "");
        changeClass("hnav_solutions", ("solutions" == divName) ? "selected" : "");
        changeClass("hnav_clients", ("clients" == divName) ? "selected" : "");
        changeClass("hnav_team", ("team" == divName) ? "selected" : "");
        changeClass("hnav_references", ("references" == divName) ? "selected" : "");
        changeClass("hnav_contact", ("contact" == divName) ? "selected" : "");    
        
        if (divName == "references" && changeDisplay.arguments.length >= 2) {
            updateTestimonial(changeDisplay.arguments[1]);
        }
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function submit_form(form) {
    // do form verification so this doesn't jump to the vertical response form...
    if ((form.first_name.value != "") && (form.email_address.value != "")) {    
        createCookie("report", "enabled", 365);
        form.submit();
        return false;
    } else {
        alert("Please fill in all required fields.");
        return true;
    }
}

function check_cookie(linkId) {

    var report_enabled = readCookie("report");
    if (report_enabled == "enabled") 
    {
        if (linkId == 1) {
            window.location = "./reports/nQ_WOM_Report_102607_final.pdf";
        } else if (linkId == 2) {
            window.location = "./reports/nQ_Healthy_Organic_Foods_Report.pdf";
        }
        
    } else {
        if (linkId == 1) {
            window.location = "./nq_customerform.html";
        } else if (linkId == 2) {
            window.location = "./nq_healthyform.html";
        }
    } 
}
