// Function to resize the side drop shadows on page loads to make sure they expand with the main content
function resize()
{
document.getElementById('left_border').style.height = document.getElementById('right_border').style.height = document.getElementById('main_holder').offsetHeight+"px";
}

// Function to open specific tab
function checkTabs() 
{
	var tabCall = querystring('tab');
//	alert("tabCall = " + tabCall);
	if ( tabCall != "") {
		var paneID = "bsbc"+tabCall;
		var tabID = "bodytab"+tabCall;
//		alert("paneID = " + paneID + "\ntabID = " + tabID );
		if (document.getElementById(tabID) != null) {
			box_switcher('bottom_switch_boxes', paneID, document.getElementById(tabID));
		}
	}
}

// Function to set external links to open in a new browser window
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}


// function to initalize page display
function initPage()
{
		checkTabs();
		resize();
		externalLinks();
}



// Function to toggle visibility between 2 items
function toggle2(id1, id2)
{
    if (document.getElementById(id1).style.display == 'none')
    {
        document.getElementById(id1).style.display = 'block';
        document.getElementById(id2).style.display = 'none';
    }
    else
    {
        document.getElementById(id1).style.display = 'none';
        document.getElementById(id2).style.display = 'block';
    }
}

// Function to hide the country select menu
function closeCountry(id1, id2)
{
    if(document.getElementById(id1).style.display == 'block')
    {
        document.getElementById(id1).style.display = 'none';
        document.getElementById(id2).style.display = 'block';
    }
}

// Switch box contents switcher
function box_switcher(parentID, boxID, link)
{
    var ahref = document.getElementById(parentID).getElementsByTagName('a');
    for (var i = 0; i < ahref.length; i++)
    {
        if (ahref[i].className == 'sb_active')
        {
            ahref[i].className = 'sb_inactive';
        }
    }
    var divhide = document.getElementById(parentID).getElementsByTagName('div');
    var re = new RegExp('(?:^|\\s+)' + 'sb_box' + '(?:\\s+|$)');
    for (i = 0; i < divhide.length; i++)
    {
        if (divhide[i].className.match(re))
        {
            divhide[i].style.display = 'none';
        }
    }
    document.getElementById(boxID).style.display = 'block';
    link.className = 'sb_active';
}

// Switch box contents switcher
function box_inner_switcher(parentID, boxID)
{
    var divhide = document.getElementById(parentID).getElementsByTagName('div');
    var re = new RegExp('(?:^|\\s+)' + 'sb_inner_box' + '(?:\\s+|$)');
    for (i = 0; i < divhide.length; i++)
    {
        if (divhide[i].className.match(re))
        {
            divhide[i].style.display = 'none';
        }
    }
    document.getElementById(boxID).style.display = 'block';
}


// Function that switches the images
function toggleIH(divID, parentDiv)
{
    var numDivs = document.getElementById(parentDiv).getElementsByTagName('div').length;
    for (var i = 0; i <= numDivs; i++)
    {
        if(document.getElementById('ih' + i))
        {
            document.getElementById('ih' + i).style.display = 'none';
        }
        if(document.getElementById('ih' + i + 'c'))
        {
            document.getElementById('ih' + i + 'c').style.display = 'none';
        }
    }
    document.getElementById(divID).style.display = 'block';
    document.getElementById(divID + 'c').style.display = 'block';
}

// Function for page jump
function jumpPage(newURL)
{
window.location.assign(newURL);
}

// promo box contents switcher
function promobox_switcher(parentID, boxID, imgSrc, link)
{
    var ahref = document.getElementById('promoBoxBodyTop').getElementsByTagName('a');
    for (var i = 0; i < ahref.length; i++)
    {
        if (ahref[i].className == 'pb_active')
        {
            ahref[i].className = 'pb_inactive';
        }
    }

    var divhide = document.getElementById(parentID).getElementsByTagName('div');

    var re = new RegExp('(?:^|\\s+)' + 'pb_box' + '(?:\\s+|$)');

    for (i = 0; i < divhide.length; i++)
    {
        if (divhide[i].className.match(re))
        {
            divhide[i].style.display = 'none';
        }
    }
	
	document.getElementById('promoBigImage').src = imgSrc;
    document.getElementById(boxID).style.display = 'block';
    link.className = 'pb_active';
}


// Next Steps form functions

function wbfSynch(e) {
	var ename = e.name;
	var evalue = e.value;
//	alert("element name: " + ename + "\n" + "element value: " + evalue);
	document.getElementById("feedbackform").elements[ename].value = evalue;
	var hdnname = document.getElementById("feedbackform").elements[ename].name;
	var hdnvalue = document.getElementById("feedbackform").elements[ename].value;
//	alert("hidden element name: " + hdnname + "\n" + "hidden element value: " + hdnvalue);
}

function phoneSynch(e) {
	var ename = e.name;
	var evalue = e.value;
//	alert("element name: " + ename + "\n" + "element value: " + evalue);
	document.getElementById("myphoneform").elements[ename].value = evalue;
	var hdnname = document.getElementById("myphoneform").elements[ename].name;
	var hdnvalue = document.getElementById("myphoneform").elements[ename].value;
//	alert("hidden element name: " + hdnname + "\n" + "hidden element value: " + hdnvalue);
}

function emailfriendSynch(e) {
	var ename = e.name;
	var evalue = e.value;
//	alert("element name: " + ename + "\n" + "element value: " + evalue);
	document.getElementById("myemailafriendform").elements[ename].value = evalue;
	var hdnname = document.getElementById("myemailafriendform").elements[ename].name;
	var hdnvalue = document.getElementById("myemailafriendform").elements[ename].value;
//	alert("hidden element name: " + hdnname + "\n" + "hidden element value: " + hdnvalue);
}


function checkEmail (strng) {
var error="";
if (strng == "Email") {
   error = "You didn't enter an email address.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}

function fieldIsEmpty(strng,name) {
var error = "";
  if (strng.length == 0) {
     error = name + " has not been filled in.\n";
  }
return error;	  
}

function checkPhone (strng) {
var error = "";
if (strng == "") {
   error = "You didn't enter a phone number.\n";
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "The phone number contains illegal characters.\n";
    }
return error;
}

function checkSelectList(choice,name) {
var error = "";
    if (choice == 0) {
    error = "You didn't choose an option from the " + name + " list.\n";
    }    
return error;
}

function validateFeedback() {
	var errMsg = "";
	
	errMsg += fieldIsEmpty(document.forms['feedbackform'].fname.value, 'First name');
	errMsg += fieldIsEmpty(document.forms['feedbackform'].lname.value, 'Last name');
    var chkString = document.forms['feedbackform'].email.value;	
	errMsg += checkEmail(chkString);
	errMsg += fieldIsEmpty(document.forms['feedbackform'].q1.value, 'Comments');
	if (errMsg != "") {
		alert(errMsg);
	}
	else
	{ 
//	 synchFeedbackForms();   // synch has been moved to wbfSynch()
//	 wfbXmlhttpPost("http://www.windriver.com/cgi-bin/corporate/webmaster/infoEval.cgi");
	 var cgiHost = window.location.hostname;
	 var cgiPath = "http://" + cgiHost + "/cgi-bin/corporate/webmaster/infoEval.cgi";
	 wfbXmlhttpPost(cgiPath);
	}
}

function wfbXmlhttpPost(strURL) {
	Modalbox.show($('loadingspinner'), {title: 'Sending...', width: 420}); // show spinner
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            Modalbox.show($('Thanks'), {title: 'Thank You.', width: 420});
        }
    }
    self.xmlHttpReq.send(getFeedbackquerystring());
}

function getFeedbackquerystring() {
    var email = document.forms['feedbackform'].email.value;
	var q1 = document.forms['feedbackform'].q1.value;
	var id = document.forms['feedbackform'].id.value;
	var fname = document.forms['feedbackform'].fname.value;
	var lname = document.forms['feedbackform'].lname.value;
	var ref = document.forms['feedbackform'].ref.value;
    qstr = 'email=' + escape(email) + '&q1=' + escape(q1) + '&id=' + escape(id) + '&fname=' + escape(fname) + '&lname=' + escape(lname) + '&ref=' + escape(ref);  // NOTE: no '?' before querystring
    return qstr;
}

function emailXmlhttpPost(strURL) {
	Modalbox.show($('loadingspinner'), {title: 'Sending...', width: 420}); // show spinner
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            Modalbox.show($('Thanks'), {title: 'Thank You.', width: 420});
        }
    }
    self.xmlHttpReq.send(getEmailContactquerystring());
}

function getEmailContactquerystring() {
	var id = document.forms['myemailform'].id.value;
	var fname = document.forms['myemailform'].fname.value;
	var lname = document.forms['myemailform'].lname.value;	
    var email = document.forms['myemailform'].email.value;
	var company = document.forms['myemailform'].company.value;
	var city = document.forms['myemailform'].city.value;
	var state = document.forms['myemailform'].state.value;
	var country = document.forms['myemailform'].country.value;
	var question = document.forms['myemailform'].question.value;
	var ref = document.forms['myemailform'].ref.value;
	qstr = 'id=' + escape(id) + '&fname=' + escape(fname) + '&lname=' + escape(lname) + '&email=' + escape(email) + '&company=' + escape(company) + '&city=' + escape(city) + '&state=' + escape(state) + '&country=' + escape(country) + '&question=' + escape(question)+ '&ref=' + escape(ref);  // NOTE: no '?' before querystring
    return qstr;
}

function phoneXmlhttpPost(strURL) {
	Modalbox.show($('loadingspinner'), {title: 'Sending...', width: 420}); // show spinner
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            Modalbox.show($('Thanks'), {title: 'Thank You.', width: 420});
        }
    }
    self.xmlHttpReq.send(getPhoneContactquerystring());
}

function getPhoneContactquerystring() {
	var id = document.forms['myphoneform'].id.value;
	var fname = document.forms['myphoneform'].fname.value;
	var lname = document.forms['myphoneform'].lname.value;	
	var company = document.forms['myphoneform'].company.value;
    var phone = document.forms['myphoneform'].phone.value;
	var email = document.forms['myphoneform'].email.value;	
	var city = document.forms['myphoneform'].city.value;
	var state = document.forms['myphoneform'].state.value;
	var country = document.forms['myphoneform'].country.value;
	var question = document.forms['myphoneform'].question.value;
	var ref = document.forms['myphoneform'].ref.value;
	qstr = 'id=' + escape(id) + '&fname=' + escape(fname) + '&lname=' + escape(lname) + '&company=' + escape(company) +'&phone=' + escape(phone) + '&email=' + escape(email) + '&city=' + escape(city) + '&state=' + escape(state) + '&country=' + escape(country) + '&question=' + escape(question)+ '&ref=' + escape(ref);  // NOTE: no '?' before querystring
    return qstr;
}

function validateInfoRequest() {
	var errMsg = "";
    
	errMsg += fieldIsEmpty(document.forms['myphoneform'].fname.value, 'First name');
	errMsg += fieldIsEmpty(document.forms['myphoneform'].lname.value, 'Last name');
	errMsg += fieldIsEmpty(document.forms['myphoneform'].company.value, 'Company');
	errMsg += checkPhone(document.forms['myphoneform'].phone.value);
	var chkString = document.forms['myphoneform'].email.value;	
	errMsg += checkEmail(chkString);
	errMsg += fieldIsEmpty(document.forms['myphoneform'].city.value, 'City');
	errMsg += checkSelectList(document.forms['myphoneform'].state.selectedIndex,'State');
	errMsg += checkSelectList(document.forms['myphoneform'].country.selectedIndex,'Country');
	errMsg += fieldIsEmpty(document.forms['myphoneform'].question.value, 'More Info About');
	
	if (errMsg != "") {
		alert(errMsg);
	}
	else
	{ 
//	synchPhoneForms();   // synch moved to phoneSynch()
//	phoneXmlhttpPost("http://www.windriver.com/cgi-bin/corporate/webmaster/infoEval.cgi");
	var cgiHost = window.location.hostname;
	var cgiPath = "http://" + cgiHost + "/cgi-bin/corporate/webmaster/infoEval.cgi";
	phoneXmlhttpPost(cgiPath);
	}
}

function friendXmlhttpPost() {
	Modalbox.show($('loadingspinner'), {title: 'Sending...', width: 420}); // show spinner
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
	var cgiHost = window.location.hostname;
	var cgiPath = "http://" + cgiHost + "/cgi-bin/corporate/webmaster/emailEval.cgi";
    self.xmlHttpReq.open('POST', cgiPath, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            Modalbox.show($('Thanks2'), {title: 'Thank You.', width: 420});
        }
    }
    self.xmlHttpReq.send(getFriendquerystring());
}

function getFriendquerystring() {
    var URLlink = document.forms['myemailafriendform'].link.value;
	var friend = document.forms['myemailafriendform'].friend.value;
	var name = document.forms['myemailafriendform'].name.value;
	var email = document.forms['myemailafriendform'].email.value;
	var notes = document.forms['myemailafriendform'].notes.value;
    qstr = 'link=' + escape(URLlink) + '&friend=' + escape(friend) + '&name=' + escape(name) + '&email=' + escape(email) + '&notes=' + escape(notes);  // NOTE: no '?' before querystring
    return qstr;
}


function updatepage(str,divID){
    document.getElementById(divID).innerHTML = str;
}


// Mychal's Popup script with status bar messaging and cup holder

function popUp(url,params) { 
window.open(url,'newWindow',params); 
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

// returns the corresponding value for the key in querystring

function querystring(key) 
{
 var ary = location.search.substring(1).split("&");
 for ( var i=0; i<ary.length; i++ )
 {
 if ( ary[i].split("=")[0].toUpperCase() == key.toUpperCase() )
return ary[i].split("=")[1];
 }
 return("")
}

// header search box function

function doSearch(searchStr) {
	// alert("This is what I recieved:\n" + searchStr);
	var searchPrefix = "portal/serverac36.html?in_hi_space=SearchResult&amp;in_hi_control=searchstart&amp;cached=false&amp;in_hi_req_groupby=ancestors&amp;in_hi_req_page=100&amp;in_hi_req_objtype=18&amp;in_hi_req_objtype=17&amp;in_tx_query=";
 	var searchURL = searchPrefix + searchStr;
	// alert("This is where I'm trying to go:\n" + searchURL);
	window.location = searchURL;
}