﻿// JScript File

// groupTemplatePublish.js
// SS 
// Supporting functions for groupTemplatePublish.aspx form

var intImageTimerID = -1 ;
var intCurrentOpacity = 100;
var headerImages = new Array();
var intCurrentImageIndex = 0 ; 
var intTotalImages = 0 ; 
var intShowImageTimerID = -1;
var intMaxShowDuration = 3000  // 3 seconds
var intPauseIntervalTimer = -1;


/*
function headerParaGraphChange(o)
{

    // if the user changes the text and the control loses focus, auto save the information.
    //alert("headerParagraph change event fired");
    
    var strGroupSyskey = document.getElementById("hidGroupSyskey").value ; 
    var strParaText = o.value ; 
    
    var _sql = " exec sp_cms_insert_groupHeaderParagraphText ?,?";
    var _parms = new Array();
    var strResult = ""; 

    _parms[0] = strGroupSyskey ; 
    _parms[1] = strParaText ; 

    strResult =  ExecuteSQLWithParameters(_sql,_parms) ; 
    
}

function headerTextChange(o)
{

    var strGroupSyskey = document.getElementById("hidGroupSyskey").value ; 
    var strHeaderText = o.value ; 
    
    var _sql = " exec sp_cms_insert_groupHeaderText ?,?";
    var _parms = new Array();
    var strResult = ""; 

    _parms[0] = strGroupSyskey ; 
    _parms[1] = strHeaderText ; 

    strResult =  ExecuteSQLWithParameters(_sql,_parms) ; 

}
*/
function loadPage()
{
//   setupPreLoader();
   setupHeaderImages();
   highlightCurrentUmbrellaItem();
}

function highlightCurrentUmbrellaItem()
{
    if (document.getElementById('hidUmbrellaHeaderSyskey'))
    {
        var strUmbrellaHeader = document.getElementById('hidUmbrellaHeaderSyskey').value
        var objCurrent = document.getElementById(strUmbrellaHeader);
       
        if (objCurrent)
            objCurrent.className = "divLandingPageUmbrellaMenu_item_selected";
    }
}

function setupHeaderImages()
{
    
    // decode header images and load into holding array...
    decodeImageString(); 
    
    if (intTotalImages > 0)
    {
        var imgHeaderImage = document.getElementById('imgHeaderImage');
        imgHeaderImage.src = headerImages[intCurrentImageIndex][0];
        imgHeaderImage.style.position = "absolute";
        imgHeaderImage.style.left = headerImages[intCurrentImageIndex][1]+"px";
        imgHeaderImage.style.top = headerImages[intCurrentImageIndex][2]+"px";
     //   imgHeaderImage.onload = function(){removePreLoader() ; };
        
        if(intTotalImages > 1)
        {    
            intShowImageTimerID = setInterval("showImageTick();",intMaxShowDuration);
            var imgSwap = document.getElementById('imgSwap');
            imgSwap.src = headerImages[intCurrentImageIndex+1][0]; 
            imgSwap.style.left = headerImages[intCurrentImageIndex+1][1]+"px";
            imgSwap.style.top = headerImages[intCurrentImageIndex+1][2]+"px";  
            imgSwap.style.position = "absolute";
        }       // end checking if we have multiple images that we need to cycle thru
     }  // end checking if we where passed down some header image information    

    
}

function setupPreLoader()
{
    var objContainer = document.getElementById("divHeaderImages") ; 
    if (objContainer)
    {
        var divPreLoader = document.createElement("div") ; 
        divPreLoader .id = "divPreLoader";
        divPreLoader .style.zIndex = 200 ; 
        divPreLoader .style.backgroundColor = "White"; 
        divPreLoader .style.position = "absolute"; 
        divPreLoader .style.left = "0px"; 
        divPreLoader .style.top = "0px"; 
        divPreLoader .style.width = objContainer.style.width ; 
        divPreLoader .style.height = objContainer.style.height ; 
        var imgPreLoader = document.createElement("img") ; 
        imgPreLoader .id = "imgPreLoader"; 
        imgPreLoader .src ="./images/loadingImages.gif"; 
        imgPreLoader .style.position = "absolute"; 
        imgPreLoader .style.left = "423px"; 
        imgPreLoader .style.top = "126px"; 
        imgPreLoader .alt = "loading images ....";
        divPreLoader .appendChild(imgPreLoader); 
        objContainer.appendChild(divPreLoader ) ;

    }
}

function removePreLoader()
{
    
    
    
    var objPreLoader = document.getElementById('divPreLoader');
    if (objPreLoader)
    {
        var objContainer = document.getElementById('divHeaderImages');
        if (objContainer)
        {
            objContainer.removeChild(objPreLoader);
        }
    }
    
    var imgHeaderImage = document.getElementById('imgHeaderImage') ; 
    imgHeaderImage.onclick = ""; 
    
}

function decodeImageString()
{
    var intElementCount = 0 ;
    var strDecodeString = document.getElementById('hidHeaderImages').value ; 
    var imageDataArray = strDecodeString.split(",");
    
    for (var i = 0 ; i <=imageDataArray.length -1;i++)
    {
        intElementCount++ ; 
        switch (intElementCount)
        {
            case 1:
                headerImages[intCurrentImageIndex] = new Array(3);
                headerImages[intCurrentImageIndex][0] = imageDataArray[i];
     
                break ;
            case 2:
                headerImages[intCurrentImageIndex][1] = imageDataArray[i];
                break;
            case 3:
                headerImages[intCurrentImageIndex][2] = imageDataArray[i];
                intElementCount = 0 ;
                intCurrentImageIndex++ ; 
                intTotalImages++;
                break;            
       
        }   // end switch element count
       
    }   // end scanning data in our imageDataArray
    
    intCurrentImageIndex = 0 ; 
   
}

function changeOpacity( imageobject, opacity ) 
{
   var object = imageobject.style;
    object.opacity = ( opacity / 100 );
    object.MozOpacity = ( opacity / 100 );
    object.KhtmlOpacity = ( opacity / 100 );
    object.filter = "alpha(opacity=" + opacity + ")";
}

function imageTick()
{

    var imgHeaderImage =  document.getElementById('imgHeaderImage'); 
    intCurrentOpacity -=2 ; 
    if (intCurrentOpacity > 0 )
        changeOpacity(imgHeaderImage,intCurrentOpacity);    
    else
        swapImage_ClearInterval();
}


function swapImage_ClearInterval()
{
    clearInterval(intImageTimerID);
    
    // swap the header image to the current swap image setting
    
    var imgSwap = document.getElementById('imgSwap') ; 
    var imgHeaderImage = document.getElementById('imgHeaderImage') ; 
    
    imgHeaderImage.src = imgSwap.src;
    imgHeaderImage.style.left = imgSwap.style.left ; 
    imgHeaderImage.style.top = imgSwap.style.top;
    intPauseIntervalTimer = setInterval("swapImage_loadNewSwap();",1000);
    
}

function swapImage_loadNewSwap()
{
    
    var imgSwap = document.getElementById('imgSwap') ; 
    var imgHeaderImage = document.getElementById('imgHeaderImage') ; 

    clearInterval(intPauseIntervalTimer);
    changeOpacity(imgHeaderImage,100);          // set the new header image to copmletely opaque.
    // okay, now put the swap image as the next item in the list
    
    intCurrentImageIndex++ ;
    if (intCurrentImageIndex > intTotalImages -1)
        intCurrentImageIndex = 0 ;
    
    imgSwap.src = headerImages[intCurrentImageIndex][0];
    imgSwap.style.left = headerImages[intCurrentImageIndex][1]+"px";
    imgSwap.style.top = headerImages[intCurrentImageIndex][2]+"px";
    imgSwap.style.position = "absolute";
    intCurrentOpacity = 100; 
    intShowImageTimerID = setInterval("showImageTick();",intMaxShowDuration);       // setup to remove the image after 10 seconds.
}

function showImageTick()
{

    // this function controls how long the images are displayed before calling the fade and swap imageTick() method.
    
    clearInterval(intShowImageTimerID );
    

    intImageTimerID = setInterval("imageTick();",10);
    

}   


function loadUmbrellaItem(strGroupSyskey)
{

    window.location.href = "./"+strGroupSyskey+".html";

}

