/* ********* Functions for Focus Slider Box ************ */

function initFocusSliderTeaserBox(xmlUrl, carouselType) {

    carouselType.children().remove();
    
    $.ajax({
    	type: "GET",
        url: xmlUrl,
        dataType: "xml",
        success: function(xml) {

            $(xml).find('entry').each(function(){
                var id_text = $(this).attr('id');
                var urltag = $(this).find('image').text();
                var teaser_text = $(this).find('teaser').text();
                var titletag = $(this).find('title').text();
                var linktag = $(this).find('url').text();
                
                fillFocusSliderTeaserArray({
                    url: urltag, 
                    title: titletag, 
                    id: linktag,
                    teaser: teaser_text
                });
            });
        }
    }).done(function() { 
    	initFocusSliderTeaser(carouselType);
    	});
   
}

var i = 0;
focusTeaserCarousel_itemList = new Array();

function fillFocusSliderTeaserArray (values) {
	focusTeaserCarousel_itemList.push (values);
}

function focusTeaserCarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{ 
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, focusTeaserCarousel_itemList.length);
   
    carousel.add(i, focusTeaserCarousel_getItemHTML(focusTeaserCarousel_itemList[idx - 1]));

    $(item).find("a.hoverTooltipSlider").cluetip({
    	width: "180px", 
    	activation:"hover",
    	clickThrough: true,
    	dropShadow: false,
    	showTitle: false,
    	tracking: true,
    	splitTitle: ':',
    	topOffset: -20,
    	leftOffset: 15,
    	positionBy: 'mouse'
    });
    
    $(item).click (   
    	function(){
            var urlval= $(this).find('img').attr("src");           
            var video = urlval.indexOf("Videos");
            var idval= $(this).find('img').attr("id");
            var titleval= $(this).find('img').attr("alt");
            var index = titleval.indexOf(":");
            var teaserval = $(this).find('.teaserContent').text();
            
            urlval = urlval.replace(".jpg", ",height=97,width=170.jpg");
		
            var name = titleval;

            $(this).parents('.subcontainerBox').find('.focusContentWrapper').fadeOut("fast", function() {
	            $(this).parents('.subcontainerBox').find('.focusContent').remove();
	            $(this).parents('.subcontainerBox').find('.focusContentWrapper').append("" +
	            		"<div class='focusContent clearfix containerShort'><img src='"+urlval+"'/>" +
	            				"<h3>" +
	            					"<a href='"+idval+"'>"+name+"</a>" +
	            				"</h3>" +
	            				"<div class='kurztext'><p>"+teaserval+"</p></div>" +
	            				"<p class='moreLink'><a href='"+idval+"'><img src='/bio/images/bio/de/moreLink.gif'/></a></p>" +
	            		"</div>");
	            $(this).parents('.subcontainerBox').find('.focusContentWrapper').fadeIn("fast");
            });
        });
    
};

function focusTeaserCarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

function focusTeaserCarousel_getItemHTML(item)
{
	item.url = item.url.replace(".jpg", ",height=62,width=97.jpg");

	var content = '<a class="hoverTooltipSlider" title="' + item.title + '"><img src="' + item.url + '" alt="' + item.title + '" id="' + item.id + '" /></a><span class="hidden teaserContent">' + item.teaser + '</span>';
    return content;
};

function initFocusSliderTeaser (carouselType) {
	
	carouselType.jcarousel({
		itemFallbackDimension: 89,
        wrap: 'circular',
        itemVisibleInCallback: {
            onBeforeAnimation: focusTeaserCarousel_itemVisibleInCallback
        },
        itemVisibleOutCallback: {
            onAfterAnimation: focusTeaserCarousel_itemVisibleOutCallback
        }
    });
}

/* ********* Functions for Focus Video Slider Box ************ */

function initFocusSliderVideoBox(xmlUrl, carouselType) {

    carouselType.children().remove();
    
    var jqxhr = $.ajax({
        type: "GET",
        url: xmlUrl,
        dataType: "xml",
        timeout: 100000,
        success: function(xml) {

            $(xml).find('entry').each(function(){
                var id_text = $(this).attr('id');
                var urltag = $(this).find('image').text();
                var titletag = $(this).find('title').text();
                var linktag = $(this).find('videoStreamingUrl').text();
                var linktype = $(this).find('videoStreamingProvider').text();
                
                fillFocusSliderVideoArray({
                    url: urltag, 
                    title: titletag, 
                    id: linktag,
                    type: linktype
                });
                
            });
            
        }
    }).done(function(XMLHttpRequest, textStatus) { 
    	initFocusSliderVideo(carouselType);
    	});
    
   
}

var i = 0;
var focusVideoCarousel_itemList = new Array();

function fillFocusSliderVideoArray (values) {
	focusVideoCarousel_itemList.push (values);
}

function focusVideoCarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{ 
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, focusVideoCarousel_itemList.length);
   
    carousel.add(i, focusVideoCarousel_getItemHTML(focusVideoCarousel_itemList[idx - 1]));

    $(item).find("a.hoverTooltipSlider").cluetip({
    	width: "150px", 
    	activation:"hover",
    	clickThrough: true,
    	dropShadow: false,
    	showTitle: true,
    	tracking: true,
    	splitTitle: ':',
    	topOffset: -20,
    	leftOffset: 15,
    	positionBy: 'mouse'
    });
    
    $(item).click (	
		function(e){
			e.preventDefault();
			$(this).parents(".teaser").find(".focusContent").remove();
			$(this).parents(".teaser").find(".videoTitleContent").remove();

			var videoval = $(this).find("a").attr("href");
			var videotitle = $(this).find("img").attr("alt");
			
			$(".videoBox").find(".currentItem").removeClass("currentItem");
			$(this).addClass("currentItem");
    	
			if ($(this).find("img").hasClass("youtube")){	
		    		          
	
	            $(this).parents('.teaser').find('.focusContentVideoWrapper').append("" +
	            		"<div class='focusContent clearfix containerShort'><div class='videocontainerbox'>" +
	            		"<object " +
	            		"	width='270' " +
	            		"	height='224' " +
	            		"	data='" + videoval +";fs=1;showsearch=false'" +
	            		"	type='application/x-shockwave-flash'" +
	            		">" +
	            		"	<param value='" + videoval +";fs=1;showsearch=false' name='movie'>" +
	            				"<param value='true' name='allowFullScreen'>" +
	            				"<param value='transparent' name='wmode'>" +
	    				"</object>" +
	            	"</div></div>");
		            
		            $(this).parents('.teaser').find('.videoTitleWrapper').append("<div class='videoTitleContent'>" + videotitle +"</div>");
				}
			
			if ($(this).find("img").hasClass("movingimage24")){	
	
	            $(this).parents('.teaser').find('.focusContentVideoWrapper').append("" +
	            		"<div class='focusContent clearfix containerShort'><div id='mijsvdiv' class='videocontainerbox'></div>" +
	            		"<div><script type='text/javascript' src='" + videoval + "?jsdiv=mijsvdiv&width=270&height=224'" +
	            	"</div></div>");
		            
		            $(this).parents('.teaser').find('.videoTitleWrapper').append("<div class='videoTitleContent'>" + videotitle +"</div>");
	    		
			}
		});
    
};

function focusVideoCarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

function focusVideoCarousel_getItemHTML(item)
{
	item.url = item.url.replace(".jpg", ",height=38,width=52.jpg");

	var content = '<a class="hoverTooltipSlider" title="' + item.title + '" href="'+ item.id +'"><img class="' + item.type + '" src="' + item.url + '" alt="' + item.title + '" /></a>';
    return content;
};

function initFocusSliderVideo (carouselType) {
	
	carouselType.jcarousel({
		itemFallbackDimension: 54,
		wrap: 'circular',
        scroll: 1,
        animation: 200,
        itemVisibleInCallback: {
            onBeforeAnimation: focusVideoCarousel_itemVisibleInCallback
        },
        itemVisibleOutCallback: {
            onAfterAnimation: focusVideoCarousel_itemVisibleOutCallback
        }
    });
}
