/* 
    Document   : teaser-slider.js
    Created on : 12.10.2011, 11:00:00
    Author     : TFlueter
    Description:
        Purpose of the stylesheet follows.
*/
var homeTeaserIndex = 0;
var lastIndex = 0;
var isAutoAnim = true;
var timeoutID;

function teaserslider_prevTeaser()
{
    autoAnim = false;
    
	homeTeaserIndex--;
	if(homeTeaserIndex < 0)
	homeTeaserIndex = teasersliderData.length-1;
	
	if(teasersliderData.length > 1)
	teaserslider_changeBigTeaser(homeTeaserIndex, autoAnim);
}


function teaserslider_nextTeaser(autoAnim)
{
    homeTeaserIndex = homeTeaserIndex + 1;

    if(homeTeaserIndex == teasersliderData.length)
    homeTeaserIndex = 0;

    if(teasersliderData.length > 1)
    teaserslider_changeBigTeaser(homeTeaserIndex, autoAnim);
}


function teaserslider_changeBigTeaser(currentIndex, autoAnim)
{
        isAutoAnim = autoAnim;
        
	if(!isAutoAnim || !autoAnim){
            clearTimeout(timeoutID);    
        }
    
	var imgContainer = document.getElementById('teaserDetailsImage');
	var oldSrc = imgContainer.src;

	var newImage = new Image();
	newImage.src    = teasersliderData[currentIndex]['image'];
	url             = teasersliderData[currentIndex]['url'];

           
        if(oldSrc != newImage.src)
        {
            var anim = teaserslider_fadeOut(imgContainer);

            fade = function()
            {
                imgContainer.src = newImage.src;
                teaserslider_fadeIn(imgContainer);


                var homeTeaserInfos = document.getElementById('teaserDetailsInfo');

                homeTeaserInfos.getElementsByTagName('img')[0].src          = teasersliderData[currentIndex]['logo'];
                homeTeaserInfos.getElementsByTagName('h4')[0].innerHTML     = teasersliderData[currentIndex]['title'];
                homeTeaserInfos.getElementsByTagName('div')[0].innerHTML    = teasersliderData[currentIndex]['description'];

                document.getElementById('previewImageURL').href = teasersliderData[currentIndex]['url'];
                document.getElementById('previewButtonURL').href = teasersliderData[currentIndex]['url'];
            }
            
            if(document.getElementById('thumbnail_' + lastIndex))
            document.getElementById('thumbnail_' + lastIndex).className = 'inactive';
            
            if(document.getElementById('thumbnail_' + currentIndex))
            document.getElementById('thumbnail_' + currentIndex).className = 'active';	
         
            lastIndex = currentIndex;
            
            
            if(!document.getElementById('thumbnail_0'))
            {
                changePageinationStatus('page_' + currentIndex); 
            }
            else
            {
                if(currentIndex > 5)
                {
                    pos =  ((teasersliderData.length-(currentIndex+1)) * 164) + (((currentIndex+1)/6-1)*993);

                    if(currentIndex >= 5 && currentIndex < 11)
                    {
                        changePageinationStatus('page_6');
                    }
                    if(currentIndex >= 11 && currentIndex < 17)
                    {
                        changePageinationStatus('page_12');
                    }
                }
                else
                {
                    pos = 0;
                    changePageinationStatus('page_1');
                }
            }
            
            
            
            teaserslider_sliderMove2Page("thumbnailsSlider", pos);
            
            
            homeTeaserIndex = currentIndex;

            anim.onComplete.subscribe(fade);
        }
}




function teaserslider_fadeOut(div)
{
	var attributes = {
		opacity: { to: 0 }
	};
	var myAnim = new YAHOO.util.Anim(div.id, attributes, 0.2);
	myAnim.animate();
	return myAnim;
}


function teaserslider_fadeIn(div)
{
	var attributes = {
		opacity: { to: 1 }
	};
	var myAnim = new YAHOO.util.Anim(div.id, attributes, 0.2);
	myAnim.animate();
	return myAnim; 
}


function teaserslider_restart(){
	initTeaserSlideshow();
	
}
function teaserslider_init()
{
    clearTimeout(timeoutID);
    timeoutID = setTimeout('teaserslider_timeoutEnd()', 6000);
}


function teaserslider_timeoutEnd(){

        if(isAutoAnim)
        {
            teaserslider_nextTeaser(isAutoAnim);
            teaserslider_init();
        }
}

function teaserslider_sliderMove2Page(targetId, pos){
       var attributes = {
	scroll: { to: [pos, 0] }
	};
	var sliderAnimation = new YAHOO.util.Scroll(targetId, attributes, 0.4, YAHOO.util.Easing.easeOut);
	sliderAnimation.animate();
}

function teaserslider_MoveLeft(targetId){

    var direction = 'left';
	pos = pos - 140;
	teaserslider_sliderMove2Page(targetId, pos);
}

function teaserslider_MoveRight(targetId, pagesTotal){

    var direction = 'right';
	pos = pos + 140;
	teaserslider_sliderMove2Page(targetId, pos);
}


function changePageinationStatus(pagenationObject){
    for(i = 0; i < 40; i++)
    {
        objectName = "page_" + i;
        if(document.getElementById(objectName))
        document.getElementById(objectName).className = 'inactive'; 
    }


    if(pagenationObject.id)
    {
        if(document.getElementById(pagenationObject.id))
        document.getElementById(pagenationObject.id).className = 'active';
    }
    else
    {
        if(document.getElementById(pagenationObject))
        document.getElementById(pagenationObject).className = 'active';
    }
}
