/* 
 * Media Gallery for RoC website.
 * 
 * @author Hong Dang
 * @version 1.0
 * @revision 10/10/2011
 */

var media_popupStatus = 0;
var media_CurrentImage = 0;
// Add using PHP
var media_NumberOfImage = 0;
var media_backgroundFadeID = "#backgroundPopup"
var media_popupPageID = "#popupContent";
var media_popupImage = "#media_screenshot";

function loadPopup()
{
    if (media_popupStatus == 0)
    {
        $(media_backgroundFadeID).css({ opacity: 0.7 });
        $(media_backgroundFadeID).fadeIn("slow");
        $(media_popupPageID).fadeIn("slow");
        media_popupStatus = 1;
    }
}

function disablePopup()
{
    if (media_popupStatus == 1)
    {
        $(media_backgroundFadeID).fadeOut(50);
        $(media_popupPageID).fadeOut(50);
        media_popupStatus = 0;
    }
}

function loadImage(imageNumber)
{
    $(media_popupImage).attr("src", "/images/media_screenshots/media_" + imageNumber + ".jpg");
    $(media_popupImage).attr("onclick", "window.open('/images/media_screenshots/media_" + imageNumber + ".jpg')");
    
    refreshImage(imageNumber);
        
    media_CurrentImage = imageNumber;
    
    loadPopup();
}

function refreshImage(imageNumber)
{
    var width = getWidthOfImage("/images/media_screenshots/media_" + imageNumber + ".jpg");
    var height = getHeightOfImage("/images/media_screenshots/media_" + imageNumber + ".jpg");
    
    if (width > 1200)
    {
        width = 1200;
    }
    
    if (height > 700)
    {
        height = 700;
    }
    
    $(media_popupImage).attr("height", height);
    $(media_popupImage).attr("width", width);
    $(media_popupPageID).css("height", height);
    $(media_popupPageID).css("width", width + 50);
    $(media_popupPageID).center();
    $('#popupButtonLeft').css("top", height/2);
    $('#popupButtonRight').css("top", height/2);
}

$(document).ready(function(){    
   $(media_backgroundFadeID).click(function() {
       disablePopup();
   });
   
   $(document).keyup(function(e) {
      if (e.keyCode==27 && media_popupStatus==1)
      {  
        disablePopup();  
      }  
   });  
});

function media_goRight(lastImageNumber, firstImageNumber)
{
    media_CurrentImage--;
    if (media_CurrentImage < lastImageNumber)
    {
         media_CurrentImage = firstImageNumber;
    }
       
    refreshImage(media_CurrentImage);
    
    $(media_popupImage).attr("src", "/images/media_screenshots/media_" + media_CurrentImage + ".jpg");
    $(media_popupImage).attr("onclick", "window.open('/images/media_screenshots/media_" + media_CurrentImage + ".jpg'");
}

function media_goRight_fp()
{
    media_CurrentImage--;
    if (media_CurrentImage < media_NumberOfImage - 2)
    {
         media_CurrentImage = media_NumberOfImage;
    }
    
    refreshImage(media_CurrentImage);
    
    $(media_popupImage).attr("src", "/images/media_screenshots/media_" + media_CurrentImage + ".jpg");
    $(media_popupImage).attr("onclick", "window.open('/images/media_screenshots/media_" + media_CurrentImage + ".jpg'");
}

function media_goLeft(lastImageNumber, firstImageNumber)
{
    media_CurrentImage++;
    if (media_CurrentImage > firstImageNumber)
    {
         media_CurrentImage = lastImageNumber;
    }
    
    refreshImage(media_CurrentImage);
    
    $(media_popupImage).attr("src", "/images/media_screenshots/media_" + media_CurrentImage + ".jpg");
    $(media_popupImage).attr("onclick", "location.href='/images/media_screenshots/media_" + media_CurrentImage + ".jpg'");
}

function media_goLeft_fp()
{
    media_CurrentImage++;
    if (media_CurrentImage > media_NumberOfImage)
    {
         media_CurrentImage = media_NumberOfImage - 2;
    }
    
    refreshImage(media_CurrentImage);

    $(media_popupImage).attr("src", "/images/media_screenshots/media_" + media_CurrentImage + ".jpg");
    $(media_popupImage).attr("onclick", "location.href='/images/media_screenshots/media_" + media_CurrentImage + ".jpg'");
}

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop() + "px");
    this.css("left", (($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft() + "px");
    return this;
}

jQuery.fn.resizeImage = function (imageHeight, imageWidth) {
    this.attr("height", imageHeight);
    this.attr("width", imageWidth)
    return this;
}

function getWidthOfImage(img_src) {
    var img = new Image();
    img.src = img_src;
    return img.width;
}

function getHeightOfImage(img_src) {
    var img = new Image();
    img.src = img_src;
    return img.height;
}

