/*//////////////////////////////////////////////////////////////////////////////////////
Script BrandBuzz v1.0

This provides the basic functionality to have a series of images that seemlessly
slide from side to side with specific actions that can be taken on the focus image.  
Here is an account of functionality below:

Page Loading:
  BuildImages() takes no arguments and is only called on page initialization to set
    up the visual array of images within the Container.

  Build Navigation() takes no arguments and is only called once on page initialization.
    It applies the appropriate images and onclick routines for the nav buttons.

Fade (Popup) Functionality:
  ShowDiv() fades in the existing Named Div ("Popup_Info_[]").  The Fade functionality
    itself is handled by FadeElement().
    
  HideDiv() fades out the existing named Div.  Leverages FadeElement().

Scrolling (Product) Functionality:
  SwitchLeft() and SwitchRight() are precursory functions that handle global variables
    and any necessary actions that need be performed before calling ShiftLeft() and
    ShiftRight() Respectively.
  
  ShiftLeft() and ShiftRight() are similar to Zoom above in that it generates a starting
    set of X,Y coordinates and their differetials (dX, dY) for each element to be moved.
    In this case only 4 of the 5 elements are moved based on the navigation type since
    only 1 element needs to be brought into view from outside the Carousel_Container Div.
    These utilite ShiftElement() to iteratively move the Image Objects. 

*////////////////////////////////////////////////////////////////////////////////////////


  // Default User-Set Variables - Display  (Override in Page to set)
  var intImageNode_Press         = 0;    // Node Tracker
  var intImageNode_Blog          = 0;    // Node Tracker
  var intContainer_HighlightNode = 2;    // The Array Element to be the Primary Selection Node, Start at 0. (Keep as 2)
  var intContainer_TopBuffer     = 7;    // Inner Buffer in Container Div
  var intContainer_LeftBuffer    = -670; // Inner Buffer in Container Div
  var intContainer_TopBuffer_Blog  = 7;    // Inner Buffer in Container Div
  var intContainer_LeftBuffer_Blog = -670; // Inner Buffer in Container Div
  var intPopupInfo_Width         = 710;  // Set the Width of the Popup Div
  var intPopupInfo_YBuffer       = 10;   // Set the Popup Y-Buffer from the Container Edge
  var intPopupInfo_XBuffer       = -6;   // Set the Popup X-Buffer from the Container Edge
  var intImage_Width             = 140;  // Set to Standard Image Width
  var intImage_Height            = 155;  // Set to Standard Image Height
  var intImage_Width_Blog        = 180;  // Set to Standard Image Width
  var intImage_Height_Blog       = 155;  // Set to Standard Image Height
  var intImage_Buffer            = 30;   // Buffer Between Images
  var intImage_Buffer_Blog       = 50;   // Buffer Between Images for Blog
  
  // Developer Defined Variables - Behavior  (Override in Page to set)
  var intImageNodeMax_Press      = 12;
  var intDefaultNode_Press       = 0;
  var intImageNodeMax_Blog       = 9;
  var intDefaultNode_Blog        = 1;
  var intFadeDelay               = 5;    // ms Delay between frames  (Suggested 5)
  var intFadeSteps               = 25;   // Numbers of steps in Shift (More = Smoother)  Max suggested 50
  var intShiftDelay              = 5;    // ms Delay between frames  (Suggested 5)
  var intShiftSteps              = 50;   // Numbers of steps in Shift (More = Smoother)  Max Suggested 100

  // Global Variables - Static (Do Not Adjust)
  var FadeTimer         = "";
  var NavTimer          = "";
  var ShiftTimer        = "";
  var ShiftCallTimer    = "";
  var boolStopMovement  = false;
  var boolPopupActive   = false;
  var boolScrolling     = false;
  var intShiftSteps_Tmp = intShiftSteps;
  
  // Global Counters (Do Not Adjust)
  var intGlobalIterationCount     = 0;
  var intGlobalFadeIterationCount = 0;

  // Global Derived Variables (These will be reset as appropriate via GenerateCoordinates()

  // Defined Arrays (Press)
  arrImageName_Press         = new Array();
  arrImageDesc_Press         = new Array();
  arrImages_Press            = new Array();
  arrImageLoc_X_Press        = new Array();
  arrImageLoc_Y_Press        = new Array();
  arrImgSrc_Press            = new Array();
  arrImgUrl_Press            = new Array();
  arrImgPop_Press            = new Array();
  arrItemName_Press          = new Array();
  arrItemDesc_Press          = new Array();
  arrItemLong_Press          = new Array();
  arrTopicDescName_Press     = new Array(); // Array to hold the Topic Description DIV holders
  arrDescLoc_X_Press         = new Array(); // Array to hold the X-coords for Topic Description DIV Holders
  arrDescLoc_Y_Press         = new Array(); // Array to hold the Y-coords for Topic Description DIV Holders

  // Defined Arrays (Blog)
  arrImageName_Blog         = new Array();
  arrImageDesc_Blog         = new Array();
  arrImages_Blog            = new Array();
  arrImageLoc_X_Blog        = new Array();
  arrImageLoc_Y_Blog        = new Array();
  arrImgSrc_Blog            = new Array();
  arrImgUrl_Blog            = new Array();
  arrImgPop_Blog            = new Array();
  arrItemName_Blog          = new Array();
  arrItemDesc_Blog          = new Array();
  arrItemLong_Blog          = new Array();
  arrTopicDescName_Blog     = new Array(); // Array to hold the Topic Description DIV holders
  arrDescLoc_X_Blog         = new Array(); // Array to hold the X-coords for Topic Description DIV Holders
  arrDescLoc_Y_Blog         = new Array(); // Array to hold the Y-coords for Topic Description DIV Holders
    
  // Begin the Initialization of the Press Carousel
  function Initialize_Press() {
    var intTmp_PressNode = intDefaultNode_Press - 4;
    if ( parseInt(intTmp_PressNode) < 0 ) { intTmp_PressNode = parseInt(arrImgSrc_Press.length) + parseInt(intTmp_PressNode); }
    intDefaultNode_Press = intTmp_PressNode;
    intImageNode_Press = intDefaultNode_Press;
    BuildImages('Press', intDefaultNode_Press, intImageNodeMax_Press);
    BuildPopups('Press');
  }
  
  function Initialize_Blog() {
    var intTmp_BlogNode = intDefaultNode_Blog - 3;
    if ( parseInt(intTmp_BlogNode) < 0 ) { intTmp_BlogNode = parseInt(arrImgSrc_Blog.length) + parseInt(intTmp_BlogNode); }
    intDefaultNode_Blog = intTmp_BlogNode;
    intImageNode_Blog  = intDefaultNode_Blog;
    BuildImages('Blog', intDefaultNode_Blog, intImageNodeMax_Blog);
    BuildPopups('Blog');
  }
    
  // Populate the Derived Array Values for Image Location and Topic Description
  function GenerateCoordinates() {

    for (x=0; x<intImageNodeMax_Press; x++) {
      //Populate the Image Location Array
      arrImageLoc_X_Press.push(Math.round(intContainer_LeftBuffer + ((intImage_Width + intImage_Buffer) * x)));
      arrImageLoc_Y_Press.push(Math.round(intContainer_TopBuffer));      
      arrImages_Press.push('');
    }
    for (x=0; x<intImageNodeMax_Blog; x++) {
      //Populate the Image Location Array
      arrImageLoc_X_Blog.push(Math.round(intContainer_LeftBuffer_Blog + ((intImage_Width_Blog + intImage_Buffer_Blog) * x)));
      arrImageLoc_Y_Blog.push(Math.round(intContainer_TopBuffer_Blog));      
      arrImages_Blog.push('');
    }

    for (x=0; x<intImageNodeMax_Press.length; x++) {      
      //Populate the Topic Description Array
      arrDescLoc_X_Press.push(arrImageLoc_X_Press[x] + 10);
      arrDescLoc_Y_Press.push(arrImageLoc_Y_Press[x] + 10);
    }    
    for (x=0; x<intImageNodeMax_Blog; x++) {      
      //Populate the Topic Description Array
      arrDescLoc_X_Blog.push(arrImageLoc_X_Blog[x] + 10);
      arrDescLoc_Y_Blog.push(arrImageLoc_Y_Blog[x] + 10);
    }  
    
    intShiftSteps_Tmp = intShiftSteps; // This handles overrides...
  } 
  // GenerateCoordinates()
  
  /////////////////////////
  // Begin Object Builds //
  /////////////////////////

  // Build the Image Set & Call Event Activation
  function BuildImages(BuildType, CurrentNode, MaxNodes) {
    var intBuildNode = 0;
    
    if (BuildType == "Press") {
      for (x=0; x<MaxNodes; x++) {

        intBuildNode = parseInt(CurrentNode) + x;
        while (parseInt(intBuildNode) >= parseInt(arrImgSrc_Press.length)) { intBuildNode = parseInt(intBuildNode) - parseInt(arrImgSrc_Press.length); }
        //Set Image Details
        var strImageName = "Image_Press_" + x.toString();
        var strLabelName = "Desc_Press_" + x.toString();
        
        var Img = document.getElementById(strImageName);
        var Txt = document.getElementById(strLabelName);
        
        Img.src = arrImgSrc_Press[intBuildNode].toString();
        Txt.innerHTML = '<div style="text-align:center;color:#929292;font-family:verdana;font-size:8pt;font-weight:700;">' + arrItemDesc_Press[intBuildNode] + '</div>';

        Img.style.left   = arrImageLoc_X_Press[x] + 'px';
        Img.style.top    = arrImageLoc_Y_Press[x] + 'px';
        Img.style.height = intImage_Height  + 'px';
        Img.style.width  = intImage_Width   + 'px';
        Txt.style.left   = arrImageLoc_X_Press[x] + 'px';
        Txt.style.top    = arrImageLoc_Y_Press[x] + intImage_Height + 'px';
        Txt.style.width  = intImage_Width   + 20 + 'px';
        ActivatePopupEvent(strImageName, strLabelName, intBuildNode, 'Press');
      }  // For
      ActivateNavigationEvents("Press")
    }
        
    if (BuildType == "Blog") {
      for (x=0; x<MaxNodes; x++) {

        intBuildNode = parseInt(CurrentNode) + x;
        while (parseInt(intBuildNode) >= parseInt(arrImgSrc_Blog.length)) { intBuildNode = parseInt(intBuildNode) - parseInt(arrImgSrc_Blog.length); }
        //Set Image Details
        var strImageName = "Image_Blog_" + x.toString();
        var strLabelName = "Desc_Blog_" + x.toString();
        
        var Img = document.getElementById(strImageName);
        var Txt = document.getElementById(strLabelName);
        
        Img.src = arrImgSrc_Blog[intBuildNode].toString();
        Txt.innerHTML = '<div style="text-align:center;color:#929292;font-family:verdana;font-size:8pt;font-weight:700;">' + arrItemDesc_Blog[intBuildNode] + '</div>';

        Img.style.left   = arrImageLoc_X_Blog[x] + 'px';
        Img.style.top    = arrImageLoc_Y_Blog[x] + 'px';
        Img.style.height = intImage_Height_Blog  + 'px';
        Img.style.width  = intImage_Width_Blog   + 'px';
        Txt.style.left   = arrImageLoc_X_Blog[x] + 'px';
        Txt.style.top    = arrImageLoc_Y_Blog[x] + intImage_Height_Blog + 'px';
        Txt.style.width  = intImage_Width_Blog   + 20 + 'px';
        ActivatePopupEvent(strImageName, strLabelName, intBuildNode, 'Blog');
      }  // For
      ActivateNavigationEvents("Blog")
    }
  } // BuildImages()
  
  function BuildPopups(BuildType) {    
    // Define the Popups
    if (BuildType == "Press") {
      for(x=0;x<arrImgPop_Press.length;x++) {
        document.getElementById(arrImgPop_Press[x]).style.left    = intPopupInfo_XBuffer + 'px';
        document.getElementById(arrImgPop_Press[x]).style.top     = intPopupInfo_YBuffer + 'px';
        document.getElementById(arrImgPop_Press[x]).style.width   = (intPopupInfo_Width) + 'px';
        document.getElementById(arrImgPop_Press[x]).style.zIndex  = 51;
      }
    }
    if (BuildType == "Blog") {
      for(x=0;x<arrImgPop_Blog.length;x++) {
        document.getElementById(arrImgPop_Blog[x]).style.left    = intPopupInfo_XBuffer + 'px';
        document.getElementById(arrImgPop_Blog[x]).style.top     = intPopupInfo_YBuffer + 'px';
        document.getElementById(arrImgPop_Blog[x]).style.width   = (intPopupInfo_Width) + 'px';
        document.getElementById(arrImgPop_Blog[x]).style.zIndex  = 51;
      }
    }
  }
  ///////////////////////
  // End Object Builds //
  ///////////////////////
        
  //////////////////////////////////////
  // Begin Popup & Fade Functionality //
  //////////////////////////////////////
  
  // The call to Fade In the Popup for the Image Clicked
  function ShowDiv(Type, Node) {    
    boolPopupActive = true;  
    DisableAllEvents();
    window.scroll(0,150);
    intPopupNode = Node - 1;
    ResetGlobalFadeCounter();
    clearInterval(FadeTimer);
    clearInterval(NavTimer);
    
    if (Type == 'Press') {
      document.getElementById(arrImgPop_Press[intPopupNode]).style.zIndex   = 101;
      document.getElementById(arrImgPop_Press[intPopupNode]).style.display  = 'inline';
    
      // Call Fade In
      FadeTimer = setInterval("FadeElement('" + arrImgPop_Press[intPopupNode] + "', 'Press_Nav_Container', 0, 99)", intFadeSteps);
    }
    if (Type == 'Blog') {
      document.getElementById(arrImgPop_Blog[intPopupNode]).style.zIndex   = 101;
      document.getElementById(arrImgPop_Blog[intPopupNode]).style.display  = 'inline';
  
      //Call Fade In
      FadeTimer = setInterval("FadeElement('" + arrImgPop_Blog[intPopupNode] + "', 'Blog_Nav_Container', 0, 99)", intFadeSteps);
    }    
  }
  
  // The call to Fade Out the Popup for Image Clicked
  function HideDiv(Type, strImageName) {    
    var intPopup_Node = "";
    if (strImageName == '') {
      // We don't have a proper ref and need to hide all divs
      for(x=0;x<arrImgPop_Press.length;x++){
        HideElement(arrImgPop_Press[x]);
        SetElementOpacity(arrImgPop_Press[x], 0);
      }
      for(x=0;x<arrImgPop_Blog.length;x++){
        HideElement(arrImgPop_Blog[x]);
        SetElementOpacity(arrImgPop_Blog[x], 0);
      }
      ActivateAllEvents();
      return;
    }
  
    for(x=0;x<arrItemName_Press.length;x++) {
      if (arrItemName_Press[x] == strImageName) { intPopup_Node = x; break; };
    }
    for(x=0;x<arrItemName_Blog.length;x++) {
      if (arrItemName_Blog[x] == strImageName) { intPopup_Node = x; break; };
    }
        
    ResetGlobalFadeCounter();
    clearInterval(FadeTimer);
    clearInterval(NavTimer);

    if (boolPopupActive == true && intPopup_Node.toString() != "") {
      if (Type == 'Press') {
        document.getElementById(arrImgPop_Press[intPopup_Node]).style.zIndex  = 51;
        FadeTimer = setInterval("FadeElement('" + arrImgPop_Press[intPopup_Node] + "', 'Press_Nav_Container', 99, 0, 'HideElement(ObjectName);ActivateAllEvents();')", intFadeSteps);
      }
      if (Type == 'Blog') {
        document.getElementById(arrImgPop_Blog[intPopup_Node]).style.zIndex  = 51;
        FadeTimer = setInterval("FadeElement('" + arrImgPop_Blog[intPopup_Node] + "', 'Blog_Nav_Container', 99, 0, 'HideElement(ObjectName);ActivateAllEvents();')", intFadeSteps);
      }
    }
    boolPopupActive = false;
  }
    
  function FadeElement(ObjectName, NavigationName, StartVal, EndVal, Finalize) {
    if(intGlobalFadeIterationCount >= intFadeSteps) { 
      clearInterval(FadeTimer);
      ResetGlobalFadeCounter();
      eval(Finalize);
      return; }
    else {
      intGlobalFadeIterationCount++;
      intOpacity = Math.round( StartVal + ((EndVal - StartVal) / intFadeSteps * intGlobalFadeIterationCount) );
      // intNavOpacity = (99 - intOpacity);
      try {
        SetElementOpacity(ObjectName, intOpacity); 
        // SetElementOpacity(NavigationName,intNavOpacity); 
      }
      catch(e) {
        // Fail Safely
      }
    }
  }
  
  function HideElement(ObjectName) {
    document.getElementById(ObjectName).style.display = 'none';
  }
  ////////////////////////////////////
  // End Popup & Fade Functionality //
  ////////////////////////////////////

  /////////////////////////////////////
  // Begin Image Shift Functionality //
  /////////////////////////////////////
  
  function ShiftLeft_Press() {
    boolScrolling = true;
    if (boolPopupActive) { HideDiv('', ''); }
    DisableAllEvents();
    ShiftLeft('Press'); 
  }
  
  function ShiftRight_Press() {
    boolScrolling = true;
    if (boolPopupActive) { HideDiv('', ''); }
    DisableAllEvents();
    ShiftRight('Press'); 
  }

  function ShiftLeft_Blog() {
    boolScrolling = true;
    if (boolPopupActive) { HideDiv('', ''); }
    DisableAllEvents();
    ShiftLeft('Blog'); 
  }
  
  function ShiftRight_Blog() {
    boolScrolling = true;
    if (boolPopupActive) { HideDiv('', ''); }
    DisableAllEvents();
    ShiftRight('Blog'); 
  }

  function ShiftLeft(ShiftType) {
    arrTrans_XBegin = new Array(0); 
    arrTrans_XEnd   = new Array(0); 
    arrTrans_XDelta = new Array(0); 
    
    ResetGlobalCounter();

    if (ShiftType == 'Press') {
      for (x=0; x<arrImageName_Press.length; x++) {
        arrTrans_XBegin.push(parseInt(document.getElementById(arrImageName_Press[x]).style.left));
        arrTrans_XEnd.push(parseInt(document.getElementById(arrImageName_Press[x]).style.left) + (intImage_Width + intImage_Buffer));
        arrTrans_XDelta.push( 4*(arrTrans_XEnd[x] - arrTrans_XBegin[x]) / intShiftSteps_Tmp );       
      }
      clearInterval(ShiftTimer);
      ShiftTimer = setInterval("ShiftElements_Press(arrTrans_XBegin,arrTrans_XDelta)", intShiftDelay);  
    }
        
    if (ShiftType == 'Blog') {
      for (x=0; x<arrImageName_Blog.length; x++) {
        arrTrans_XBegin.push(parseInt(document.getElementById(arrImageName_Blog[x]).style.left));
        arrTrans_XEnd.push(parseInt(document.getElementById(arrImageName_Blog[x]).style.left) + (intImage_Width + intImage_Buffer_Blog));
        arrTrans_XDelta.push( 3*(arrTrans_XEnd[x] - arrTrans_XBegin[x]) / intShiftSteps_Tmp );       
      }
      clearInterval(ShiftTimer);
      ShiftTimer = setInterval("ShiftElements_Blog(arrTrans_XBegin,arrTrans_XDelta)", intShiftDelay);  
    }

  } // ShiftLeft()

  function ShiftRight(ShiftType) {
    arrTrans_XBegin = new Array(0); 
    arrTrans_XEnd   = new Array(0); 
    arrTrans_XDelta = new Array(0); 
    
    ResetGlobalCounter();

    if (ShiftType == 'Press') {
    
      for (x=0; x<arrImageName_Press.length; x++) {
        arrTrans_XBegin.push(parseInt(document.getElementById(arrImageName_Press[x]).style.left));
        arrTrans_XEnd.push(parseInt(document.getElementById(arrImageName_Press[x]).style.left) - (intImage_Width + intImage_Buffer));
        arrTrans_XDelta.push( 4*(arrTrans_XEnd[x] - arrTrans_XBegin[x]) / intShiftSteps_Tmp ); 
      }
      clearInterval(ShiftTimer);
      ShiftTimer = setInterval("ShiftElements_Press(arrTrans_XBegin,arrTrans_XDelta)", intShiftDelay);  
    }
    
    if (ShiftType == 'Blog') {
      for (x=0; x<arrImageName_Blog.length; x++) {
        arrTrans_XBegin.push(parseInt(document.getElementById(arrImageName_Blog[x]).style.left));
        arrTrans_XEnd.push(parseInt(document.getElementById(arrImageName_Blog[x]).style.left) - (intImage_Width_Blog + intImage_Buffer_Blog));
        arrTrans_XDelta.push( 3*(arrTrans_XEnd[x] - arrTrans_XBegin[x]) / intShiftSteps_Tmp ); 
      }
      clearInterval(ShiftTimer);
      ShiftTimer = setInterval("ShiftElements_Blog(arrTrans_XBegin,arrTrans_XDelta)", intShiftDelay);  
    }

  } // ShiftRight()
    
  function ShiftElements_Press(arrX, arrXd) {
    intGlobalIterationCount++;
    if (intGlobalIterationCount > intShiftSteps_Tmp) {
      clearInterval(ShiftTimer);
      ResetGlobalCounter();
      boolScrolling = false;
      if (arrXd[0] > 0) { FinalizeShift('Press', 0); } else { FinalizeShift('Press', 1); }
    }
    else {
      for (x=0; x<arrImageName_Press.length; x++) { 
        document.getElementById(arrImageName_Press[x]).style.left     = parseInt(arrX[x] + (arrXd[x] * intGlobalIterationCount)) + 'px';        
        document.getElementById(arrImageDesc_Press[x]).style.left     = parseInt(arrX[x] + (arrXd[x] * intGlobalIterationCount)) + 'px';        
      }
    }
  }
  
  function ShiftElements_Blog(arrX, arrXd) {
    intGlobalIterationCount++;
    if (intGlobalIterationCount > intShiftSteps_Tmp) {
      clearInterval(ShiftTimer);
      ResetGlobalCounter();
      boolScrolling = false;
      if (arrXd[0] > 0) { FinalizeShift('Blog', 0); } else { FinalizeShift('Blog', 1); }
    }
    else {
      for (x=0; x<arrImageName_Blog.length; x++) { 
        document.getElementById(arrImageName_Blog[x]).style.left     = parseInt(arrX[x] + (arrXd[x] * intGlobalIterationCount)) + 'px';        
        document.getElementById(arrImageDesc_Blog[x]).style.left     = parseInt(arrX[x] + (arrXd[x] * intGlobalIterationCount)) + 'px';        
      }
    }
  }

  function FinalizeShift(strType, boolDraw) {
    intShiftSteps_Tmp = intShiftSteps;    
    var intNewNode = 0;
    if (strType == 'Press') {
      if (boolDraw) {
        intNewNode = intImageNode_Press + 4;
        if (parseInt(intNewNode) >= parseInt(arrImgSrc_Press.length)) { intNewNode = parseInt(intNewNode) - parseInt(arrImgSrc_Press.length); } 
        BuildImages('Press', intNewNode, intImageNodeMax_Press);
      }
      else {
        intNewNode = intImageNode_Press - 4;
        if (intNewNode < 0) { intNewNode = parseInt(arrImgSrc_Press.length) + parseInt(intNewNode); }
        BuildImages('Press', intNewNode, intImageNodeMax_Press);
      }    
      intImageNode_Press = intNewNode;
    }
    
    if (strType == 'Blog') {
      if (boolDraw) {
        intNewNode = intImageNode_Blog + 3;
        if (parseInt(intNewNode) >= parseInt(arrImgSrc_Blog.length)) { intNewNode = parseInt(intNewNode) - parseInt(arrImgSrc_Blog.length); } 
        BuildImages('Blog', intNewNode, intImageNodeMax_Blog);
      }
      else {
        intNewNode = intImageNode_Blog - 3;
        if (intNewNode < 0) { intNewNode = parseInt(arrImgSrc_Blog.length) + parseInt(intNewNode); }
        BuildImages('Blog', intNewNode, intImageNodeMax_Blog);
      }    
      intImageNode_Blog = intNewNode;
    }
    
    ActivateAllEvents();
  } // FinalizeShift()

  ///////////////////////////////////
  // End Image Shift Functionality //
  ///////////////////////////////////

  /////////////////////////////////
  // Begin Utility Functionality //
  /////////////////////////////////

  // Maintain Image Opacity for All Browsers
  function SetElementOpacity(Object, Value) {
    document.getElementById(Object).style.filter = "Alpha(Opacity=" + Value + ")"; // IE
    document.getElementById(Object).style.MozOpacity = Math.min(Value, 99)/100;    // FireFox
    document.getElementById(Object).style.opacity = Math.min(Value, 99)/100;       // Safari & Chrome
  }
    
  function DisableAllEvents() {
    for (x=0; x<intImageNodeMax_Press; x++) {
      try {
        document.getElementById(arrImageName_Press[x]).onmouseover = '';
        document.getElementById(arrImageName_Press[x]).onmouseout  = '';
        document.getElementById(arrImageName_Press[x]).onclick     = '';
      }
      catch(e) { /* Fail Safely */ }
    }
    for (x=0; x<intImageNodeMax_Blog; x++) {
      try {
        document.getElementById(arrImageName_Blog[x]).onmouseover = '';
        document.getElementById(arrImageName_Blog[x]).onmouseout  = '';
        document.getElementById(arrImageName_Blog[x]).onclick     = '';
      }
      catch(e) { /* Fail Safely */ }
    } 
    try {
      document.getElementById("Press_LP_LeftNav").onclick  = '';
      document.getElementById("Press_LP_RightNav").onclick = '';
    }
    catch(e) { /* Fail Safely */ }
    try {
      document.getElementById("Blog_LP_LeftNav").onclick  = '';
      document.getElementById("Blog_LP_RightNav").onclick = '';
    }
    catch(e) { /* Fail Safely */ }
  }
  
  // Activate a Single Popup Event
  function ActivatePopupEvent(strImage, strLabel, Node, Type) {
    eval("document.getElementById('" + strImage + "').onclick = ShowDiv_" + Type + "_" + parseInt(Node + 1) );
    eval("document.getElementById('" + strLabel + "').onclick = ShowDiv_" + Type + "_" + parseInt(Node + 1) );
  }
  
  // Activate All Popup Events
  function ActivatePopupEvents() {
    var x = 0;
    var intBuildNode = 0
    for (x=4; x < 8; x++) {
      // This only re-activates the displayed elements - not the entire list (as it's cumbersome)
      intBuildNode = parseInt(intImageNode_Press) + x;
      while (parseInt(intBuildNode) >= parseInt(arrImgSrc_Press.length)) { intBuildNode = parseInt(intBuildNode) - parseInt(arrImgSrc_Press.length); }

      var strImageName = "Image_Press_" + x.toString();
      var strLabelName = "Desc_Press_" + x.toString();
      ActivatePopupEvent(strImageName, strLabelName, intBuildNode, 'Press');
    }
    for (x=3; x < 6; x++) {
      // This only re-activates the displayed elements - not the entire list (as it's cumbersome)
      intBuildNode = parseInt(intImageNode_Blog) + x;
      while (parseInt(intBuildNode) >= parseInt(arrImgSrc_Blog.length)) { intBuildNode = parseInt(intBuildNode) - parseInt(arrImgSrc_Blog.length); }

      var strImageName = "Image_Blog_" + x.toString();
      var strLabelName = "Desc_Blog_" + x.toString();
      ActivatePopupEvent(strImageName, strLabelName, intBuildNode, 'Blog');
    }
  }
  
  // Activate Navigation Events
  function ActivateNavigationEvents(strType) {
    if (strType == "Press" || strType == "All") {
      document.getElementById("Press_LP_LeftNav").onclick  = ShiftLeft_Press;
      document.getElementById("Press_LP_RightNav").onclick = ShiftRight_Press;
    }
    
    if (strType == "Blog" || strType == "All") {
      document.getElementById("Blog_LP_LeftNav").onclick  = ShiftLeft_Blog;
      document.getElementById("Blog_LP_RightNav").onclick = ShiftRight_Blog;
    }
  }
  
  // Activate All Events
  function ActivateAllEvents() {
    ActivatePopupEvents();
    ActivateNavigationEvents("All");
  }
      
  function ResetGlobalCounter() {
    intGlobalIterationCount = 0;  
  }
    
  function ResetGlobalFadeCounter() {
    intGlobalFadeIterationCount = 0;
  }
    
  // End Utility Functionality //
  ///////////////////////////////
