var currImage;
var currVideo;
var currAudio;
var currAnchor;
var audioPlayingArray;
var stylepre = "";
var stylepost = "";
var objpre = "";
var objpost = "";
var audioCount = 0;
// array index values
var indexDescription = 0;
var indexCopyright = 1;
var indexImageMedResSrc = 2;
var indexImageMedResSize = 3;
var indexImageHighResSrc = 4;
var indexImageHighResSize = 5;
var indexVideoFlvSrc = 2;
var indexVideoMovSrc = 3;
var indexVideoMovSize = 4;
var indexVideoWmvSrc = 5;
var indexVideoWmvSize = 6;

function GetElementById(id) {
  var elementName = "";
  var element = null;

  // alert("In GetElementById: " + id);

  if (document.all) {
    elementName = "document.all('" + id + "')";
  } else if (document.getElementById) {
    elementName = "document.getElementById('" + id + "')";
  } else if (document.layers) {
    if (parent) {
      elementName = "document." + parent + ".document." + id;
    } else {
      elementName = "document." + id;
    }
  }

  // alert("Element name = " + elementName);

  if (elementName != "") {
    element = eval(elementName);
  }

  //  alert("typeof Element " + id + " = " + (typeof element));

  // alert("toString is: " + element.toString());

  return element;
}

function replaceAll(str, from, to) {
  // alert("Entering replaceAll: " + str + ", " + from + ", " + to);
  var workStr = "" + str;
  var fromIndex = workStr.indexOf(from);

  while (fromIndex > -1) {
    workStr = workStr.replace(from, to);
    fromIndex = workStr.indexOf(from);
  }

  // alert("Exiting replaceAll: " + workStr);
  return workStr;
}


var rightClickWarning = "This photo is copyrighted. All rights reserved. Unauthorized use prohibited.";
//document.oncontextmenu = rightProtect;
function rightProtect(e) {
  if (window.event) {
    var srcEl = event.srcElement ? event.srcElement : event.target;
  }
  else {
    var srcEl = e.srcElement ? e.srcElement : e.target;
  }
  var className = srcEl.className;
  if (className.indexOf('protected') != -1) {
    window.alert(rightClickWarning);
    return false;
  }
  else {
    return true;
  }
}
function trap() {
  if (document.images) {
    for (i = 0; i < document.images.length; i++) {
      if (document.images[i].className.indexOf('protected') != -1) {
        //found one to protect!
        document.images[i].onmousedown = rightProtect;
        document.images[i].onmouseup = rightProtect;
      } else {
        //don't protect this image!
      }
    }
  }
}

function showImage(thumbNail, index) {
  var targetImage = GetElementById("media-image");
  if (targetImage != null) {
    if (thumbNail != null) {
      var thumbNailSrc = thumbNail.src;
      var thumbNailAlt = thumbNail.alt;
      var mediumSrc = imageArray[index][indexImageMedResSrc];
      var targetAlt = thumbNail.alt;
      targetImage.src = mediumSrc;
      targetImage.alt = targetAlt;
      targetImage.title = targetAlt;
      if (imageArray[index][indexImageHighResSrc] != null && imageArray[index][indexImageHighResSrc] != "") { // This image can be downloaded
        targetImage.className = "media-photo";
      } else {
        targetImage.className = "media-photo protected";
        targetImage.onmousedown = rightProtect;
        targetImage.onmouseup = rightProtect;
      }
    }
  }
  var imageDesc = GetElementById("image-desc");
  if (imageDesc != null) {
    if (index > -1 && index < imageArray.length) {
      if (imageArray[index][indexCopyright] != null && imageArray[index][indexCopyright] != "")
      {
        imageDesc.innerHTML = imageArray[index][indexDescription] + "<br/><br/>&copy; " + imageArray[index][indexCopyright];
      }
      else
      {
        imageDesc.innerHTML = imageArray[index][indexDescription];
      }
    }
  }
  var imageDownload = GetElementById("image-download");
  var imageDownloadTitleElement = GetElementById("image-download-title");
  var largeSrc = imageArray[index][indexImageHighResSrc];
  if (imageDownload != null) {
    if (index > -1 && index < imageArray.length) {
      if (largeSrc != null && largeSrc != "") {  // This image can be downloaded
        //            mediumSrc = mediumSrc.substring(currentDomain.length);
        //            largeSrc = largeSrc.substring(currentDomain.length);
        imageDownloadTitleElement.innerHTML = imageDownloadTitle;
        imageDownload.innerHTML = '<a href=\"' + APP_ROOT + 'download?file=' + URLEncode(unescape(mediumSrc)) + '&pathIndex=3\"' + ' class="jumplink">For Screen <span class="info"> (' + imageArray[index][indexImageMedResSize] + ')</span></a>'
            + '<br>'
            + '<a href=\"' + APP_ROOT + 'download?file=' + URLEncode(unescape(largeSrc)) + '&pathIndex=3\"' + ' class="jumplink">For Print <span class="info"> (' + imageArray[index][indexImageHighResSize] + ')</span></a><br/>';
      } else {
        imageDownloadTitleElement.innerHTML = "";
        // Hide download options
        imageDownload.innerHTML = "";
      }
    }
  }
}

function showFirstImage(anchorObject)
{
  hideAllAudio('Listen');
  hideVideo();
  if (currAnchor != anchorObject)
  {
  }
}

function showFirstImageOnLoad() {
  var firstImage = GetElementById("firstImage");
  if (firstImage != null) {
    showImage(firstImage, 0);
    currImage = firstImage;
  }
}

function activateActiveX() {
  //Determine browser, we only need this for Internet Explorer
  if (navigator.appName == "Microsoft Internet Explorer") {

    //Array of elements to be replaced
    var arrElements = new Array(3);
    arrElements[0] = "object";
    arrElements[1] = "embed";
    arrElements[2] = "applet";


    //Loop over element types
    for (n = 0; n < arrElements.length; n++) {

      //set object for brevity
      replaceObj = document.getElementsByTagName(arrElements[n]);

      //loop over element objects returned
      for (i = 0; i < replaceObj.length; i++) {

        //set parent object for brevity
        parentObj = replaceObj[i].parentNode;

        //grab the html inside of the element before removing it from the DOM
        newHTML = parentObj.innerHTML;

        //remove element from the DOM
        parentObj.removeChild(replaceObj[i]);

        //stick the element right back in, but as a new object
        parentObj.innerHTML = newHTML;

      }
    }
  }
}

function showVideo(thumbNail, index) {
  var targetImage = GetElementById("video-player");
  var targetSrc = "";
  if (targetImage != null) {
    if (thumbNail != null) {
      targetSrc = videoArray[index][indexVideoFlvSrc];
      // Create FLV player object
      var so = new SWFObject(APP_ROOT + "media/mediaplayer.swf", "mediaplayer", "290", "240", "8", "#FFFFFF");
        so.addParam("wmode","opaque");
      var newsroomIndex = targetSrc.indexOf("/Newsroom");
      //      if (newsroomIndex >= 0) {
      //        targetSrc = "http://broadcast.lds.org" + targetSrc.substring(newsroomIndex);
      //      } else {
      // try lower case path
      //          newsroomIndex = targetSrc.indexOf("/newsroom");
      //          if (newsroomIndex >= 0) {
      //              targetSrc = "http://broadcast.lds.org" + targetSrc.substring(newsroomIndex);
      //          } else {
      //            alert("ERROR: Unable to locate media files");
      //          }
      //      }
      so.addVariable("media", replaceAll(targetSrc, "\\", "/"));
      so.addVariable("type", "FLV");
      so.addVariable("autoplay", "false");
      so.addVariable("scale", "true");
      so.write(targetImage.id);
    }
  }
  var videoDesc = GetElementById("video-desc");
  if (videoDesc != null) {
    if (index > -1 && index < videoArray.length) {
      videoDesc.innerHTML = videoArray[index][indexDescription];
      if (videoArray[index][indexCopyright] == null || videoArray[index][indexCopyright] != '')
      {
        videoDesc.innerHTML += '<br><br>&copy; ' + videoArray[index][indexCopyright];
      }
    }
  }
  var videoDownload = GetElementById("video-download");
    var foundAfile = false;
  if (videoDownload != null) {
    if (index > -1 && index < videoArray.length) {
      var movSrc = currentDomain + APP_ROOT + 'download?file=' + videoArray[index][indexVideoMovSrc];
      var wmvSrc = currentDomain + APP_ROOT + 'download?file=' + videoArray[index][indexVideoWmvSrc];
      var downText = '';
        if (movSrc != (currentDomain + APP_ROOT + 'download?file=')) {
            foundAfile = true;
            downText = "<h4>Download</h4>";
        downText = downText + '<a href="' + movSrc + '" class="jumplink">QuickTime <span class="info"> ';
        if (videoArray[index][indexVideoMovSize] != 'unknown') {
            downText = downText + '(' + videoArray[index][indexVideoMovSize] + ')';
        }
        downText = downText + '</span></a><br>';
        }
        if (wmvSrc != (currentDomain + APP_ROOT + 'download?file=')) {
            if (!foundAfile) {
                downText = downText + "<h4>Download</h4>";
            }
          downText = downText + '<a href="' + wmvSrc + '" class="jumplink">Windows Media <span class="info"> ';
           if (videoArray[index][indexVideoWmvSize] != 'unknown') {
            downText = downText + '(' + videoArray[index][indexVideoWmvSize] + ')';
               }
            downText = downText + '</span></a>';
        }

      videoDownload.innerHTML = downText;
    }
  }

   //link and embedding code
    var videoUsage = GetElementById("video-usage");
    if (videoUsage != null) {
        var embedCode = GetElementById("embed-code-span");
        var linkCode = GetElementById("link-code-span");
        linkCode.innerHTML = '<input type="text" readonly="true" onclick="javascript:this.focus();this.select();" value="http://www.lds.org/ldsnewsroom/media/mediaplayer.swf?media=' + targetSrc + '&type=FLV" id="link-code" name="link_code"  class="embed-link" style="display: none"/>';
        var usageText = '';
        usageText = usageText + '<input type="text" readonly="true" style="display: none" onclick="javascript:this.focus();this.select();" ';
        usageText = usageText + "value='";
        usageText = usageText + '<object width="425" height="300"><param name="movie" value="http://www.lds.org/ldsnewsroom/media/mediaplayer.swf?media=' + targetSrc + '&type=FLV"></param><param name="wmode" value="opaque"></param><embed src="http://www.lds.org/ldsnewsroom/media/mediaplayer.swf?media='+ targetSrc + '&type=FLV" type="application/x-shockwave-flash" wmode="opaque" width="425" height="300"></embed>';
        usageText = usageText + "</object>'";
        usageText = usageText + 'id="embed-code" name="embed_code" class="embed-link"/>';
        embedCode.innerHTML = usageText;
    }
}

function showFirstVideo(anchorObject)
{
  // alert("In showFirstVideo");
  hideAllAudio('Listen');
  //if(currAnchor != anchorObject)
  //{
  var firstVideo = GetElementById("firstVideo");
  if (firstVideo != null)
  {
    showVideo(firstVideo, 0);
    currVideo = firstVideo;
  }
  //}
}

//function showVideoChapter(targetSrc, chapterTitle, index) {
function showVideoChapter(index) {
  //This is specific to the world report
  var targetImage = GetElementById("video-player");
  //  var flvSrc = targetSrc.replace(/mov/g, "flv").replace(/wmv/g, "flv");
  var flvSrc = videoArray[index][indexVideoFlvSrc];
  var chapterTitle = videoArray[index][indexDescription];
  var item;

  //Show the player
  var mediaDesc = GetElementById("media-video").style;
  mediaDesc.display = "";
  //  var newsroomIndex = targetSrc.indexOf("/Newsroom");
  //  if (newsroomIndex >= 0) {
  //    targetSrc = "http://broadcast.lds.org" + flvSrc.substring(newsroomIndex);
  //  }
  if (targetImage != null) {
    // Create FLV player object
    var so = new SWFObject(APP_ROOT + "media/mediaplayer.swf", "mediaplayer", "290", "240", "8", "#FFFFFF");
    so.addParam("wmode","opaque");
    //    so.addVariable("media", targetSrc);
    so.addVariable("media", flvSrc);
    so.addVariable("type", "FLV");
    so.addVariable("autoplay", "true");
    so.addVariable("scale", "true");
    so.write(targetImage.id);
    item = document.getElementById("chapterTitleHeading");
    if (item != null) {
      item.innerHTML = chapterTitle;
    }

    var videoDesc = GetElementById("video-desc");
    if (videoDesc != null) {
      if (index > -1 && index < videoArray.length) {
        videoDesc.innerHTML = videoArray[index][indexDescription];
        if (videoArray[index][indexCopyright] == null || videoArray[index][indexCopyright] != '')
        {
          videoDesc.innerHTML += '<br><br>&copy; ' + videoArray[index][indexCopyright];
        }
      }
    }
    //link and embedding code
    var videoUsage = GetElementById("video-usage");
    videoUsage.display = 'block';
    if (videoUsage != null) {
        var embedCode = GetElementById("embed-code-span");
        var linkCode = GetElementById("link-code-span");
        linkText = '';
        linkText = linkText + '<a href="#current" class="jumplink" id="link-click" onclick="javascript:$(\'#link-code2\').toggle();">Link </a><br/>';
        linkText = linkText + '<input type="text" readonly="true" onclick="javascript:this.focus();this.select();" value="http://www.lds.org/ldsnewsroom/media/mediaplayer.swf?media=' + flvSrc + '&type=FLV" id="link-code2" name="link_code"  class="embed-link" style="display: none"/>';
        linkCode.innerHTML = linkText;
        var usageText = '<a href="#current" class="jumplink" id="embed-click" class="embed" onclick="javascript:$(\'#embed-code2\').toggle();">Embed</a><br/>';
        usageText = usageText + '<input type="text" readonly="true" style="display: none" onclick="javascript:this.focus();this.select();" ';
        usageText = usageText + "value='";
        usageText = usageText + '<object width="425" height="300"><param name="movie" value="http://www.lds.org/ldsnewsroom/media/mediaplayer.swf?media=' + flvSrc + '&type=FLV"></param><param name="wmode" value="opaque"></param><embed src="http://www.lds.org/ldsnewsroom/media/mediaplayer.swf?media='+ flvSrc + '&type=FLV" type="application/x-shockwave-flash" wmode="opaque" width="425" height="300"></embed>';
        usageText = usageText + "</object>'";
        usageText = usageText + 'id="embed-code2" name="embed_code" class="embed-link"/>';
        embedCode.innerHTML = usageText;
    }
    /*
    var videoDownload = GetElementById("video-download");
  if (videoDownload != null) {
    if (index > -1 && index < videoArray.length) {
      var movSrc = currentDomain + APP_ROOT + 'download?file=' + targetSrc.replace("flv", "mov").replace("flv", "mov");
      // alert(movSrc);
      var wmvSrc = currentDomain + APP_ROOT + 'download?file=' + targetSrc.replace("flv", "wmv").replace("flv", "wmv");
      // alert(wmvSrc);
      var downText = '<a href="' + movSrc + '" class="jumplink">QuickTime <span class="info"> (' + videoArray[index][2] + ')</span></a>'
          + '<br>'
          + '<a href="' + wmvSrc + '" class="jumplink">Windows Media <span class="info"> (' + videoArray[index][3] + ')</span></a>';
      // alert(downText);
      videoDownload.innerHTML = downText;
    }
  }
    */
  }
}

function hideVideo()
{
  var targetText = GetElementById("video-player");
  if (targetText != null) {
    targetText.innerHTML = "";
  }
}

function showFirstAudio(anchorObject)
{
  hideVideo();
  if (currAnchor != anchorObject)
  {
  }
}

function audioOnLoad(audioNum)
{
  audioCount = audioNum;
  audioPlayingArray = [audioNum];
  for (i = 0; i < audioNum; i++)
  {
    audioPlayingArray[i] = "off";
  }
  if (document.all) {
    //IE4+ specific code
    stylepre = 'document.all("';
    stylepost = '").style';
    objpre = 'document.all("';
    objpost = '")';
  } else
    if (document.getElementById) {
      //Netscape 6+, Mozilla and IE 6+ specific code
      stylepre = 'document.getElementById("';
      stylepost = '").style';
      objpre = 'document.getElementById("';
      objpost = '")';
    } else
      if (document.layers) {
        //Netscape 4 specific code
        stylepre = 'document.';
        stylepost = '';
        objpre = 'document.';
        objpost = '';
      }
}

function showAudio(toggleTarget, toggleLink, offText, onText, audioPath, autoPlay, toggleCount) {
  var toggleState = audioPlayingArray[toggleCount];
  if (toggleState == "off") {
    hideAllAudio(offText);
    // clear out other Audio players
    var idstyle = eval(stylepre + toggleTarget + stylepost);
    //var objID = eval(objpre + toggleTarget + objpost);
    //    idstyle.display = "block";
    //$(objID).slideDown('slow');

    loadAudio(audioPath, toggleCount, autoPlay);
    $("#mediaplayerAudio").hide();
    $("#" + toggleTarget).slideDown('slow', function () {
      $("#mediaplayerAudio").show();
    });
    $(toggleLink).html(onText);
    //send command to start playing
    audioPlayingArray[toggleCount] = "on";
  } else {
    hideAudio(toggleTarget, toggleLink, offText, toggleCount);
  }
}

function hideAllAudio(offText) {
  for (i = 0; i < audioCount; i++) {
    var toggleState = audioPlayingArray[i];
    if (toggleState == "on") {
      var idstyle = eval(stylepre + "audio-player" + i + stylepost);
      //    idstyle.display = "none";
      $("#audio-player" + i).slideUp('medium');
      var temp = ("audio-link" + i);
      temp2 = eval(objpre + temp + objpost);
      $(temp2).html(offText);
      audioPlayingArray[i] = "off";
      clearAudio(i);
    }
  }
}

function hideAudio(toggleTarget, toggleLink, offText, toggleCount) {
  var idstyle = eval(stylepre + toggleTarget + stylepost);
  //var objID = eval(objpre + toggleTarget + objpost);
  //  idstyle.display = "none";
  //$(objID).slideUp('slow');
  $("#" + toggleTarget).slideUp('slow');
  $(toggleLink).html(offText);
  audioPlayingArray[toggleCount] = "off";
  clearAudio(toggleCount);
}

function loadAudio(audioPath, toggleCount, autoplay) {
  var targetText = GetElementById(("audio-player" + toggleCount));
  var innerText = "";
  var min_version = 6;
  if (targetText != null && audioPath != null) {
    // Add player
    var so = new SWFObject(APP_ROOT + "media/mediaplayer2.swf", "mediaplayerAudio", "290", "33", "", "#FFFFFF");
      so.addParam("wmode","opaque");
    so.addVariable("media", audioPath);
    so.addVariable("type", "MP3");
    so.addVariable("autoplay", autoplay);
    innerText += so.getSWFHTML();
    if (deconcept.SWFObjectUtil.getPlayerVersion().major >= min_version) {
      targetText.innerHTML = innerText;
    } else {
      targetText.innerHTML = '<p class="info">In order to function properly, this content requires the Adobe Flash&copy; '
          + 'Player.<br/><a href="http://www.adobe.com/go/gntray_dl_getflashplayer" class="jumplink">Click here to download Flash&trade;</a></p>';
    }
  }
}

function clearAudio(toggleCount) {
  var targetText = GetElementById(("audio-player" + toggleCount));
  targetText.innerHTML = "";
}

//�Play media
function stopMedia() {
  //  alert("in stopMedia");
  var objID = eval(objpre + "mediaplayerAudio" + objpost);
  getFlashByID(objID).stopMedia();
  //  alert("end of stopMedia");
}

// Stop media
function playMedia() {
  getFlashByID("mediaplayer").playMedia();
}

// Pause media
function pauseMedia() {
  getFlashByID("mediaplayer").pauseMedia();
}

// Rewind media
function rewindMedia() {
  getFlashByID("mediaplayer").rewindMedia();
}

// Get flash object based on id name, returns flash object
function getFlashByID(movieName) {
  if (navigator.appName.indexOf("Microsoft") != -1) {
    return window[movieName]
  } else {
    return document[movieName]
  }
}
// End -->


