﻿//timeout in millisecond
var timeout = 0;

function stopRotation(elementid)
{
    clearTimeout(jQuery("#" +  elementid).find("#timerid").val());
}
function startRotation(elementid, arrImages, arrDescription, arrImageLink, arrNewWindow)
{
    try
    {
        if(timeout > 16000)
        {
            timeout = timeout / 2;
        }  
        
        //Last parameter is true to maintain same image after mouseout
        var currImg = jQuery("table#" + elementid + " div#pnlImage  a:first  img:visible");
        var cumImgIdx = jQuery("table#" + elementid + " div#pnlImage  a:first  img").index(currImg);
        
        //Last parameter is true to maintain same image after mouseout
        setImage( elementid ,   arrImages  , arrDescription , arrImageLink  ,
            arrNewWindow ,true, cumImgIdx  );
    }
    catch(err)
    {
        alert(err);
    }
    
}

function setImage(RandomImageTbl, arrImg , arrDesc , arrImgLnk , arrNewWin,  maintainidx,imgIndx)
{
    
    var rotationtimer;
    var arrImages = eval(arrImg);
    var arrDescription = eval(arrDesc) ;
    var arrImageLink  = eval(arrImgLnk);
    var arrNewWindow = eval(arrNewWin);
    var RandomImageTable;
    
    RandomImageTable = document.getElementById(RandomImageTbl);
   if(maintainidx == false)
   {
        
        jQuery("#" + RandomImageTable.id).fadeOut(1000,function()
        { 
        var ImageNavURL =  jQuery("table#" + RandomImageTable.id).find("div#pnlImage").find("a:first");
        var ImageDesc = jQuery("table#" + RandomImageTable.id).find("div#pnlDescription");
        
        //set image src
        jQuery(ImageNavURL).find("img").css("display", "none");
        jQuery("img#" + arrImages[imgIndx]).css("display","inline-block");
        
                       
        //set image description
        jQuery(ImageDesc).html(arrDescription[imgIndx]);
     
        //set image link and target window
        if(arrImageLink[imgIndx] != '')
        {
            jQuery(ImageNavURL).attr('href',arrImageLink[imgIndx]);
            if(arrNewWindow[imgIndx] == 'True')
            {
                jQuery(ImageNavURL).attr('target','_blank');
            }
            else
            {
                jQuery(ImageNavURL).attr('target','_self');
            }
        }
        else
        {
            jQuery(ImageNavURL).removeAttr('href');
        }
        
        jQuery("#" + RandomImageTable.id).fadeIn(timeout/2);
        }
        );
        
    if(imgIndx >= arrImages.length - 1 )
    {
            imgIndx = 0;
    }
    else if(jQuery("table#" + RandomImageTbl + " div#pnlImage  a:first  img:visible").length > 0)
    {
       imgIndx = imgIndx + 1; 
    }
    
    }
    timeout = 16000; 
    rotationtimer = setTimeout("setImage( '" + RandomImageTable.id + "','" + arrImg + "','" + arrDesc + "','" + arrImgLnk +         "','" + arrNewWin + "', false," + imgIndx + ")", timeout);
    jQuery("#" + RandomImageTable.id).find("#timerid").val(rotationtimer);
   
    
}

function preLoadImages(RandomImageTbl, arrImages , arrDescription , arrImageLink , arrNewWindow)
{
    jQuery(document).ready(function(){
    getImageHeight(RandomImageTbl,arrImages);
    setImage(RandomImageTbl, arrImages , arrDescription , arrImageLink , arrNewWindow, false, 0 ); 	
});
}

function getImageHeight(tableid , arrimages)
{
    var arrImgs = eval(arrimages);
    var panelImg = jQuery("table#" + tableid).find("div#pnlImage");
    var height = 0;
    var ImgHeight;
    for(iCtr = 0; iCtr < arrImgs.length; iCtr++)
    {
         ImgHeight = jQuery("img#" + arrImgs[iCtr]).height();
         
         if(height < ImgHeight )
         {
                height = ImgHeight;
                
         }
         
    }
            
    jQuery(panelImg).height(height);
    jQuery("table#" + tableid).parent().css("height", height + 50);
       
}
