function openVideo(strVideo, pTitle, pSubTitle) {
  window.clearTimeout(document.pr);

  $(".playerTitle").html(pTitle);
  $(".playerSubTitle").html(pSubTitle);
  $("#playerVideo").empty();
  $(".player").fadeIn(600, insertVideo(strVideo));
}

function insertVideo(strVideo) {
  var s1 = new SWFObject("http://www.beyondthedigit.com/player.swf","ply","720","464","9","#000000");
  s1.addParam("allowfullscreen","true");
  s1.addParam("allowscriptaccess","always");
  s1.addParam("flashvars","width=720&height=464&displayheight=424&autostart=true&frontcolor=#0xffffff&backcolor=#0x333333&lightcolor=#0xffffff&file=http://www.beyondthedigit.com/portfolio/video/" + strVideo + ".f4v&image=http://www.beyondthedigit.com/portfolio/video/" + strVideo + ".jpg");
  s1.write("playerVideo");
}

function swapPage() {
  portfolioRotate(-1);
  $("#titleoverlay").animate({right: "-373px"}, 600, "easeInExpo", function () {
    $("#titleoverlay .play").hide();
    if (pType == "video") {
      $("#titleoverlay .play").show();
    }
  });
  $("#playerVideo").empty();  
  $(".player").fadeOut(600);
  if (window.document.location != window.loader.document.location) {
    var title = window.loader.document.title;
    var backSrc = window.loader.$("img[name='back']").attr("src");
    var barLeft = window.loader.$("div.bar").css("left");
    var barWidth = window.loader.$("div.bar .bm").css("width");
    var barContent = window.loader.$("div.bar .bmc").html();
    var portfolioContent = window.loader.$("div.portfolio").html();
  
    if (window.document.title != title) window.document.title = title;
  
    if ($("img[name='back']").attr("src") != backSrc) {
      $("div.back").prepend("<img src='" + backSrc + "' alt='' />");
      $("div.back img:first").load(function(){         
        $("div.back img:gt(0)").fadeOut(1200, function(){
          $("div.back img:gt(0)").remove();
        });
      });
    }
    
    if ($("div.bar .bmc").html() != barContent) {
      $("div.bar").animate({left: barLeft}, 1200, "easeInOutQuint", function(){});
      $("div.bar .bmc").fadeOut(600, function(){
        $("div.bar .bmc").html(barContent);
        $("div.bar .bmc").css("width", barWidth);
        $("div.bar .bm").animate({width: barWidth}, 600);
        $("div.bar .bmc").fadeIn(600);
      });
    }
    
    if ($("div.portfolio").html() != portfolioContent) {
      $("div.portfolio").fadeOut(600, function() {
        $("div.portfolio").html(portfolioContent);
        $("div.portfolio").fadeIn(600);
      });
    }
  }
}

function portfolioRotate(selIndex) {
  window.clearTimeout(document.pr);
  var portfolioLength = $("#portfolioList li").length;
  if (selIndex > portfolioLength - 2) {
    var newIndex = 0;
  } else {
    var newIndex = selIndex + 1;
  }
  if (portfolioLength > 0) {
    document.newIndex = newIndex;
    document.pr = setTimeout(function() {
      portfolioSet(newIndex);
    }, 10000);
  }
}

var pType, pTitle, pTitleShort, pSubTitle, pDescription, backSrc;
function portfolioSet(selIndex) {
  pType = $("#portfolioList li:eq(" + selIndex + ") .pItem").attr("rel");
  pTitle = $("#portfolioList li:eq(" + selIndex + ") .pTitle").html();
  pTitleShort = $("#portfolioList li:eq(" + selIndex + ") .pTitleShort").html();
  pSubTitle = $("#portfolioList li:eq(" + selIndex + ") .pSubTitle").html();
  pDescription = $("#portfolioList li:eq(" + selIndex + ") .pDescription").html();
  backSrc = $("#portfolioList li:eq(" + selIndex + ") .pBack").html();  

  if (pType == "video") {
    var pTypeVideoAsset = $("#portfolioList li:eq(" + selIndex + ") .pTypeVideoAsset").html();
    $("#titleoverlay .play").click(function() {
      $(this).blur();
      openVideo(pTypeVideoAsset, pTitle, pSubTitle);
      return false;
    });
  }

  if (pTitle != "" && pSubTitle != "") {
    if ($("#titleoverlay .pTitle").html() != pTitleShort || $("#titleoverlay .pSubTitle").html() != pSubTitle) {
      $("#titleoverlay").animate({right: "-373px"}, 600, "easeInExpo", function(){
        $("#titleoverlay .play").hide();
        $("#titleoverlay .pTitle").html(pTitleShort);
        $("#titleoverlay .pSubTitle").html(pSubTitle);
        $("#titleoverlay .pDescription").html(pDescription);
        $("#portfolioList li").removeClass("selected");
        $("#portfolioList li:eq(" + selIndex + ")").addClass("selected");
        portfolioBack();
      });
    } else {
      portfolioBack();
      $("#portfolioList li").removeClass("selected");
      $("#portfolioList li:eq(" + selIndex + ")").addClass("selected");
    }
  } else {
    $("#titleoverlay").animate({right: "-373px"}, 600, "easeInExpo", function(){
      $("#titleoverlay .play").hide();
      portfolioBack();
      $("#portfolioList li").removeClass("selected");
      $("#portfolioList li:eq(" + selIndex + ")").addClass("selected");
    });
  }

  portfolioRotate(selIndex);
}

function portfolioBack() {
  if ($("img[name='back']").attr("src") != backSrc) {
    $("div.back").prepend("<img src='" + backSrc + "' alt='' />");
    $("div.back img:first").load(function(){         
      $("div.back img:gt(0)").fadeOut(1200, function(){
        $("div.back img:gt(0)").remove();
        slideInTitle();
      });
    });
  }
}

function slideInTitle() {
  $("#titleoverlay .play").hide();
  if (pSubTitle != "") {
    $("#titleoverlay .t").hide();
    if (pDescription != "") $("#titleoverlay .t").show();
    if (pType == "video") {
      $("#titleoverlay .play").show();
    }
    $("#titleoverlay").animate({right: "0px"}, 600, "easeOutExpo");
  }
}


$(document).ready(function() {
  if ((window.parent == window)) {
    $("body").append("<iframe id='loader' src='about:blank' name='loader' style='display:none;'></iframe>");
    window.loader.document.location.href = window.document.location.href;
    $("a[rel='navigation']").live("click", function(){
      window.loader.document.location.href=$(this).attr("href");
      $(this).blur();
      return false;
    });
  
    //title
    $("#titleoverlay").css({right: "-373px"});
    $("#titleoverlay .tce").hide();
    $("#titleoverlay .play").hide();
    $("#titleoverlay .t").live("click", function () {
      if (!$("#titleoverlay").hasClass("expanded")) {
        window.clearTimeout(document.pr);
        $("#titleoverlay .tce").slideDown("slow", "easeInOutBack");
        $("#titleoverlay").animate({top: "47px"}, "slow", "easeInOutBack", function(){ 
          $("#titleoverlay").toggleClass("expanded", true);
        });
      } else {
        document.pr = setTimeout(function() {
          portfolioSet(document.newIndex);
        }, 3000);
        $("#titleoverlay .tce").slideUp("normal", "easeInOutBack");
        $("#titleoverlay").animate({top: "347px"}, "slow", "easeInOutBack", function(){ 
          $("#titleoverlay").toggleClass("expanded", false);
        });
      }
      $(this).blur();
      return false;  
    });
  
    //portfolio
    $("div.player").hide();
    $("div.portfolio").hide();
    $("#portfolioLabel").hide();
    $("#portfolioList li a").live("mouseover", function(){
      var label = $(this).find("span").text();
      $("#portfolioLabel").text(label);
      $("#portfolioLabel").show();
    });
    $("#portfolioList").live("mouseout", function(){
      $("#portfolioLabel").hide();
    })
    $("#portfolioList a[rel='portfolio']").live("click", function(){
      var pIndex = $("#portfolioList a[rel='portfolio']").index(this);
      window.clearTimeout(document.pr);
      $("#portfolioList li").removeClass("selected");
      $("#portfolioList li:eq(" + pIndex + ")").addClass("selected");
      portfolioSet(pIndex);
      $(this).blur();
      return false;
    });
    if (document.location.search.indexOf("pID") == -1) {
      portfolioRotate(-1);
    } else {
      var portfolioStart = 0;
      for (i = 0; i < $("#portfolioList li>a").length; i++) {
        if ($("#portfolioList li>a:eq(" + i + ")").attr("href") == document.location.search) { portfolioStart = i; i = $("#portfolioList li>a").length; }
      }
      portfolioSet(portfolioStart);
      if ($("#titleoverlay .play span").text() != "") {
        $("#titleoverlay .play").show();
      }
    }

    //bar
    var barLeftStart = $(".bar").css("left");
    $(".bar").hide();
    $(".bar").fadeIn(600);
    
    //videoplayer
    $(".player").hide();
    $(".player .t").live("click", function() {
      $("#playerVideo").empty();
      $(".player").fadeOut(600);
      document.pr = setTimeout(function() {
        portfolioSet(document.newIndex);
      }, 3000);
      return false;
    });
    
  }
  
  if ((window.parent && window.parent != window)) {
    if (window.parent.swapPage) window.parent.swapPage();
  }
  
});

