//====== Image Rollovers ======//

/*
 * Image paths for rollovers.
 */
var speaker1Img = 'img/laura.gif';
var r_speaker1Img = 'img/laura-r.gif';
var speaker2Img = 'img/carolyn.gif';
var r_speaker2Img = 'img/carolyn-r.gif';
var speaker3Img = 'img/peter.gif';
var r_speaker3Img = 'img/peter-r.gif';
var gotoImg = 'img/gotoPG.gif';
var r_gotoImg = 'img/gotoPGactive.gif';

/*
 * Ordered list of image paths.
 * Must be in same order as the preload array below.
 */
var imageIndices = new Array(speaker1Img, r_speaker1Img, speaker2Img, r_speaker2Img, speaker3Img, r_speaker3Img, gotoImg, r_gotoImg);

/*
 * Ordered list of images, forcing preloading to avoid delay on rollover.
 */
var preloadedImages = new Array();
preloadedImages[0] = new Image(135, 28);
preloadedImages[0].src = speaker1Img;
preloadedImages[1] = new Image(135, 28);
preloadedImages[1].src = r_speaker1Img;
preloadedImages[2] = new Image(138, 28);
preloadedImages[2].src = speaker2Img;
preloadedImages[3] = new Image(138, 28);
preloadedImages[3].src = r_speaker2Img;
preloadedImages[4] = new Image(90, 28);
preloadedImages[4].src = speaker3Img;
preloadedImages[5] = new Image(90, 28);
preloadedImages[5].src = r_speaker3Img;
preloadedImages[6] = new Image(359, 33);
preloadedImages[6].src = gotoImg;
preloadedImages[7] = new Image(359, 33);
preloadedImages[7].src = r_gotoImg;

/*
 * Switches the given image elements 'src' attribute value
 * to the appropriate preloaded image.
 */
function swapImage(targetElem, imgPath) {
  if (targetElem) {
    for (var i=0; i<imageIndices.length; i=i+1) {
      if (imageIndices[i] == imgPath) {
        targetElem.src = preloadedImages[i].src;
        break;
      }
    }
  }
}



/* Onmouseover handler. */
function swapSpeaker1In() {
//var speaker1ImgTag = document.getElementById('speaker1');
  swapImage(speaker1ImgTag, r_speaker1Img);
}
/* Onmouseout handler. */
function swapSpeaker1Out() {
  swapImage(speaker1ImgTag, speaker1Img);
}
/* Onmouseover handler. */
function swapSpeaker2In() {
  swapImage(speaker2ImgTag, r_speaker2Img);
}
/* Onmouseout handler. */
function swapSpeaker2Out() {
  swapImage(speaker2ImgTag, speaker2Img);
}
/* Onmouseover handler. */
function swapSpeaker3In() {
  swapImage(speaker3ImgTag, r_speaker3Img);
}
/* Onmouseout handler. */
function swapSpeaker3Out() {
  swapImage(speaker3ImgTag, speaker3Img);
}
/* Onmouseover handler. */
function swapGotoIn() {
  swapImage(gotoImageTag, r_gotoImg);
}
/* Onmouseout handler. */
function swapGotoOut() {
  swapImage(gotoImageTag, gotoImg);
}


/*Function for Funding */

function setOptionsMF(chosen) { 
var selbox = document.myform.Mtofmax;

selbox.options.length = 0;
if(chosen=="0"){
selbox.options[selbox.options.length] = new Option('0%','0');
selbox.options[selbox.options.length] = new Option('20%','20');
selbox.options[selbox.options.length] = new Option('35%','35');
selbox.options[selbox.options.length] = new Option('50%','50');
selbox.options[selbox.options.length] = new Option('65%','65');
selbox.options[selbox.options.length] = new Option('80%','80');
selbox.options[selbox.options.length] = new Option('100%','100');
}

if(chosen=="20"){
selbox.options[selbox.options.length] = new Option('20%','20');
selbox.options[selbox.options.length] = new Option('35%','35');
selbox.options[selbox.options.length] = new Option('50%','50');
selbox.options[selbox.options.length] = new Option('65%','65');
selbox.options[selbox.options.length] = new Option('80%','80');
selbox.options[selbox.options.length] = new Option('100%','100');
}

if(chosen=="35"){
selbox.options[selbox.options.length] = new Option('35%','35');
selbox.options[selbox.options.length] = new Option('50%','50');
selbox.options[selbox.options.length] = new Option('65%','65');
selbox.options[selbox.options.length] = new Option('80%','80');
selbox.options[selbox.options.length] = new Option('100%','100');
}

if(chosen=="50"){
selbox.options[selbox.options.length] = new Option('50%','50');
selbox.options[selbox.options.length] = new Option('65%','65');
selbox.options[selbox.options.length] = new Option('80%','80');
selbox.options[selbox.options.length] = new Option('100%','100');
}

if(chosen=="65"){
selbox.options[selbox.options.length] = new Option('65%','65');
selbox.options[selbox.options.length] = new Option('80%','80');
selbox.options[selbox.options.length] = new Option('100%','100');
}

if(chosen=="80"){
selbox.options[selbox.options.length] = new Option('80%','80');
selbox.options[selbox.options.length] = new Option('100%','100');
}

if(chosen=="100"){
selbox.options[selbox.options.length] = new Option('100%','100');
}

}



/*Function for Alternate Pres Types */

function setOptionsAlt(chosen,suff) { 
if(suff=="also_rept"){var selbox = document.myform.also_rept;}
if(suff=="also_joint_rept"){var selbox = document.myform.also_joint_rept;}
if(suff=="also_post"){var selbox = document.myform.also_post;}
if(suff=="also_joint_post"){var selbox = document.myform.also_joint_post;}
 if(suff=="also_summ"){var selbox = document.myform.also_summ;}

selbox.options.length = 0;
if (chosen == "C") {
selbox.options[selbox.options.length] = new Option('Choose Last','');
}
if (chosen == "0") {
selbox.options[selbox.options.length] = new Option('Not Interested','0');
selbox.options[selbox.options.length] = new Option('First Alternate','1');
}
if (chosen=="2") {
selbox.options[selbox.options.length] = new Option('First Alternate','1');
}
if (chosen == "1") {
selbox.options[selbox.options.length] = new Option('Not Interested','0');
selbox.options[selbox.options.length] = new Option('Second Alternate','2');
}
}

/*Select Function for Race/Ethinicity*/
 
 function setOptionsRE(chosen,suff) {
if(suff=="pri"){var selbox = document.myform.pri_REb;}
if(suff=="sec"){var selbox = document.myform.sec_REb;}

selbox.options.length = 0;
if (chosen == "") {
selbox.options[selbox.options.length] = new Option('Choose Primary First','');
}
if (chosen == "N") {
  selbox.options[selbox.options.length] = new Option('N/A','');
 selbox.options[selbox.options.length] = new Option('Asian','A');
 selbox.options[selbox.options.length] = new Option('African American/Black','B');
 selbox.options[selbox.options.length] = new Option('Native Hawaiian/Pacific Islander','P');
 selbox.options[selbox.options.length] = new Option('Hispanic/Latino','H');
 selbox.options[selbox.options.length] = new Option('White','W');
}
if (chosen == "A") {
  selbox.options[selbox.options.length] = new Option('N/A','');
 selbox.options[selbox.options.length] = new Option('American Native/Alaska Native','N');
 selbox.options[selbox.options.length] = new Option('African American/Black','B');
 selbox.options[selbox.options.length] = new Option('Native Hawaiian/Pacific Islander','P');
 selbox.options[selbox.options.length] = new Option('Hispanic/Latino','H');
 selbox.options[selbox.options.length] = new Option('White','W');
}
if (chosen == "B") {
  selbox.options[selbox.options.length] = new Option('N/A','');
 selbox.options[selbox.options.length] = new Option('American Native/Alaska Native','N');
 selbox.options[selbox.options.length] = new Option('Asian','A');
 selbox.options[selbox.options.length] = new Option('Native Hawaiian/Pacific Islander','P');
 selbox.options[selbox.options.length] = new Option('Hispanic/Latino','H');
 selbox.options[selbox.options.length] = new Option('White','W');
}
if (chosen == "P") {
  selbox.options[selbox.options.length] = new Option('N/A','');
 selbox.options[selbox.options.length] = new Option('American Native/Alaska Native','N');
 selbox.options[selbox.options.length] = new Option('Asian','A');
 selbox.options[selbox.options.length] = new Option('African American/Black','B');
 selbox.options[selbox.options.length] = new Option('Hispanic/Latino','H');
 selbox.options[selbox.options.length] = new Option('White','W');
}
if (chosen == "H") {
  selbox.options[selbox.options.length] = new Option('N/A','');
 selbox.options[selbox.options.length] = new Option('American Native/Alaska Native','N');
 selbox.options[selbox.options.length] = new Option('Asian','A');
 selbox.options[selbox.options.length] = new Option('African American/Black','B');
 selbox.options[selbox.options.length] = new Option('Native Hawaiian/Pacific Islander','P');
 selbox.options[selbox.options.length] = new Option('White','W');
}
if (chosen == "W") {
  selbox.options[selbox.options.length] = new Option('N/A','');
 selbox.options[selbox.options.length] = new Option('American Native/Alaska Native','N');
 selbox.options[selbox.options.length] = new Option('Asian','A');
 selbox.options[selbox.options.length] = new Option('African American/Black','B');
 selbox.options[selbox.options.length] = new Option('Native Hawaiian/Pacific Islander','P');
}
}





//====== Footer Positioning ======//

/*
 * Unfortunately, a pure CSS solution to positioning a footer element
 * below other positioned elements (columns), any one of which
 * could be the longest, and any vertical length.
 * And no, I didn't want to use tables.
 * Initially inspired by http://www.alistapart.com/articles/footers/
 * but I ended up using a different approach.
 */
function positionFooter() {
	var footerElement = document.getElementById('footer-wrapper');
	try {
	  //Make sure it is shown, as well.
	  //It MUST be made visible BEFORE having its margin increased
	  //to avoid being placed a little too high.
	  footerElement.style.display = 'inline';
    //Figure out which of the columns is the tallest.
    //Not checking 'header' div height.
    //This can probably be genericized further, to dynamically pick up extra columns...
    var centerHeight = document.getElementById('center').offsetHeight;
    var leftHeight = document.getElementById('left').offsetHeight;
    var rightHeight = document.getElementById('right').offsetHeight;
    var heights = new Array(centerHeight, leftHeight, rightHeight);
    function numericDescending(a, b) { return (b - a); }
    heights.sort(numericDescending);
	  //Shove the footer below everything else, not using positioning,
	  //but simply by increasing its top margin.
	  footerElement.style.marginTop = heights[0] + footerElement.offsetHeight + 'px';
	} catch(ex) {
	  //Reset visibility of footer if there is a problem.
	  //footerElement.style.display = 'none';
	}
}

/*
 * Trigger footer positioning on-load.
 * Must use an adjusted technique if other onload event handlers are present.
 */
window.onload = function() {
  positionFooter();
}
//This is really only needed with relative positioning...
window.onresize = function() {
  positionFooter();
}
