function preloadHoverImages() {
  $("img").each(function() {
    var src = $(this).attr("src");
    if(src && src.indexOf("base") != -1) {
      var img = new Image();
      img.src = src.replace(/base/, "hover");
    }
  });
}

// flv player
function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  } 
}


$(document).ready(function() {
  // load the hover images
  preloadHoverImages();


  // assign the rollover code
  $(".ro").hover(
    function() {
      var src = $(this).attr("src");
      if (src) {
        $(this).attr("src", src.replace(/base/, "hover"));
      }
    },
    function() {
      var src = $(this).attr("src");
      if (src) {
        $(this).attr("src", src.replace(/hover/, "base"));
      }
    }
  );


  $("a."+$('#severity_level').val()+' img').each(function(){
    var src = $(this).attr("src");
    $(this).attr("src", src.replace(/base/, "active"));
  });

  $(".filter-color").click(function() {
      var src = $(this).attr("src");
      if(src && src.indexOf('hover') != -1) {
        $(".filter-color").each(function() {
          var src2 = $(this).attr("src");
          $(this).attr("src", src2.replace(/active/, "base"));
        });
        $(this).attr("src", src.replace(/hover/, "active"));
        $('#severity_level').val($(this).parent().attr('class'));
      } else {
        $(this).attr("src", src.replace(/active/, "hover"));
        $('#severity_level').val('');
      }
    }
  );


  // expand/contract file list when project folder is selected
  $(".folder").click(function(srcc) {
    $('.file').addClass("hide");
    $(this).siblings(".file").toggleClass("hide");

    $('.response-comment').addClass("hide");
    $(this).siblings(".response-comment").toggleClass("hide");
    return false;
  });

  $(".expand").click(function() {
    $("li").removeClass("selected");
    $(".file").addClass("hide");
    $(".response-comment").addClass("hide");

    $('.contract').addClass('hide');
    $('.expand').removeClass('hide');
    $(this).parent().children(".expand").addClass("hide");
    $(this).parent().addClass("selected");
    $(this).siblings(".file").removeClass("hide");
    $(this).siblings(".response-comment").removeClass("hide");

    $(this).siblings(".contract").removeClass("hide");
    $("p").removeClass("selected");
    $(this).siblings("p").addClass("selected");
    return false;
  });

  $(".contract").click(function() {
    $(".file").addClass("hide");
    $(".response-comment").addClass("hide");

    $(this).siblings(".expand").removeClass("hide");
    $(this).addClass("hide");
    $(this).parent().removeClass("selected");
    $(this).siblings(".file").addClass("hide");
    $(this).siblings(".response-comment").addClass("hide");

    $(this).siblings(".contract").addClass("hide");
    $("p").removeClass("selected");
    return false;
  });


  // hide/show previews and comments
  $('.preview-image').click(function(){
    var src = $(this).attr('href');
    var vid = src.substr(src.indexOf('vid/') + 4);

    // put file preview image into preview div
    $('#imageDisplay div').addClass("hide");
    $('.filename_'+vid).removeClass("hide"); //admin side
    $('.download_'+vid).removeClass("hide");
    $('.preview_'+vid).removeClass("hide");
    $('.viewed_'+vid).removeClass("hide");
    $('.version-description_'+vid).removeClass("hide");

    // reveal comments for version
    $('ul.comments li').addClass("hide");
    $('.comment_'+vid).removeClass("hide");

    // change version number for hidden input field
    $('#version_id').attr('value',vid);

    return false;
  });

  // rapid response filter block show/hide
  $('a.filter-txt').click(function(){
    $(".filter-txt").toggleClass('hide');
    $(".filter-block").toggleClass('no-block');
    return false;
  });

  // clear input fields' default values
  $('input.signed-off-input').focus(function() {
    var defaultText = $(this).val();
    if($(this).value == $(this).defaultText)
    {
      $(this).val('');
    }
  });

  $('input.search-box').focus(function() {
    var defaultText = $(this).val();
    if($(this).value == $(this).defaultText)
    {
      $(this).val('');
    }
  });


  // reset filter values
  $("a.reset").click(function() {
    $(".filter-color").each(function() {
      var src = $(this).attr("src");
      $(this).attr("src", src.replace(/active/, "base"));
    });
    $("#response-type").val('');
    $("#status").val('');
    $("#search").val('SEARCH TERM');
    $('#severity_level').val('');
    return false;
  });


  // email internal reviewers
  $('#notify form').submit(function(){
    $.post('/index.php/client/notifyClientReviewers', $(this).serialize(), function(){
      tb_remove();
      $('#client_reviewers').val('');
      $('#client_reviewers_msg').val('');
    });
    return false;
  });
});