//googlemaps objekt
var map;
//objekt zur berechung der wegbeschreibung
var direction;
var customMarker;
var point;
var icon;
var googleMapInitialized = false;
var clickedSektion;


$(document).ready(function(){
	
	$('.jcarousel-list').css('margin-left','0px');
	
	jQuery.easing['BounceEaseOut'] = function(p, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	};
	
	$.ui.accordion.animations.superbounce = function(options) {
        this.slide(options, {
                easing: options.down ? "bounceout" : "bouncein",
                duration: options.down ? 1000 : 500
        });
	};



        // initialisierung des accordions
	$(function() {
		$("#accordion").accordion({
			active: false,
			collapsible: true,
			autoHeight: false,
			clearStyle: true,
			icons: {}
		});
	});

	$('.ui-accordion').bind('accordionchange', function(event, ui) {
		var scrollpos = $('#sektion' + clickedSektion).offset().top;
		$.scrollTo(scrollpos , 800 );

                if ($.browser.msie) { 
                    reloadSWF(clickedSektion);
                 }  
	});


	

	var image_count = document.getElementsByTagName("img").length;
	var image_array = document.getElementsByTagName("img");
	
	var percent = 100 / image_count;
	var overallPercent = 0;
	for (var i = 0; i < image_count; i++)
	{
		if (image_array[i].complete)
		{
			overallPercent += percent;
			$('#loader_div_progressbar_inner').animate({width: overallPercent + '%'}, 5);
		}
		if(i == image_count - 1){
			if ($('#loader_div_progressbar_inner').css('width') != '100%')
			{
				$('#loader_div_progressbar_inner').animate({width: '100%'}, 500, function(){
					$('#loader_div_container').css('visibility','hidden');
				});
			}
		}
	}
	
	function hideLoader(){ }
	
	
});


//gibt breite, h�he ,X-offset, Y-offset der div ebene und XY position des mauszeigers in einem array zur�ck
function getData(e, clipId, wrapId){
	var d = document.getElementById(wrapId);
	var divWidth = ($(clipId).css('width')).slice(0, ($(clipId).css('width')).length - 2);
	var divHeight = ($(clipId).css('height')).slice(0, ($(clipId).css('height')).length - 2);
	var xyPos = getMouseXY(e);
	var offset = jQuery(clipId).offset();
	var data = new Array(parseInt(divWidth), parseInt(divHeight), xyPos[0], xyPos[1], offset.left, offset.top);
	return data;
}

//gibt die mausposition zur�ck
function getMouseXY(e) {
	var xyPos = new Array(2);
	xyPos[0] = e.pageX;
	xyPos[1] = e.pageY;
	return xyPos;
}

//image carousels
tb_pathToImage = "files/images/loading-thickbox.gif";

var data;
var global_timer;

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item){
    return '<a href="' + item.urlImage + '" title="' + item.title + '" rel="shadowbox['+ item.tmpID +'];"><img src="' + item.urlThumb + '" width="80" height="80" border="0" alt="' + item.title + '" /></a>';
};

function resetData(e, clipId, wrapId) {
	//data: width,height,mouseXPos,mouseYPos,divLeftOffset,divTopOffset
	return getData(e, clipId, wrapId);
}

function startTimer(carousel, e) {
	var containerId = "#" + jQuery(carousel.list).attr('id');
	var wrapId = "#" + jQuery(carousel.clip.parent().parent().parent()).attr('id');
	var clipId = "#" + jQuery(carousel.clip).attr('id');
	var divData = resetData(e, clipId, wrapId);
			
	//abmessungen der divebene, in der per hover gescrollt werden soll
	var divGrenzeLinks = divData[4];
	var divGrenzeRechts = divData[4] + divData[0];
	var divGrenzeOben = divData[5];
	var divGrenzeUnten = divData[5] + divData[1];

	//grenzen, die die scrollgeschwindigkeit steuern
	//wobei die 2. f�r das schnelle scrollen zust�ndig ist
	var grenzeLinks = divData[0] / 2 + divData[4] - 20;
	var grenzeLinks2 = divData[0] / 2 + divData[4] - 100;
	var grenzeRechts = divData[0] / 2 + divData[4] + 20;
	var grenzeRechts2 = divData[0] / 2 + divData[4] + 100;
	
	global_timer = $.timer(50, function(timer){
			var slide = parseInt((jQuery(containerId).css('left')).split("px"));
			var containerWidth = parseInt((jQuery(containerId).css('width')).split("px"));

			if((divData[2] <= grenzeLinks) && (divData[2] > grenzeLinks2)){
				if(slide >= 0){
					jQuery(containerId).css('left',0);
				}else{
					slide = slide + 5;
					jQuery(containerId).css('left',slide);
				}
			}
			if(divData[2] <= grenzeLinks2){
				if(slide >= 0){
					jQuery(containerId).css('left',0);
				}else{
					slide = slide + 10;
					jQuery(containerId).css('left',slide);
				}
			}
			if((divData[2] >= grenzeRechts) && (divData[2] < grenzeRechts2)){
				if(slide <= -(containerWidth - 597)){
					jQuery(containerId).css('left',-(containerWidth - 597));
				}else{
					slide = slide - 5;
					jQuery(containerId).css('left',slide);
				}
			}
			if(divData[2] >= grenzeRechts2){
				if(slide <= -(containerWidth - 597)){
					jQuery(containerId).css('left',-(containerWidth - 597));
				}else{
					slide = slide - 10;
					jQuery(containerId).css('left',slide);
				}
			}
	});
};

function mycarousel_initCallback(carousel) {

	var wrapId = "#" + jQuery(carousel.clip.parent().parent().parent()).attr('id');
	var clipId = "#" + jQuery(carousel.clip).attr('id');
	var scndContainerClass = ((jQuery(carousel.clip.parent()).attr('class')).split(" "))[2];
	var scndItemClass = carousel.options.scndItemClass;
	var bindString = "." + scndContainerClass + " > *";
	
	for (var i = 1; i <= carousel.options.size; i++) {
        if (carousel.has(i)) {
            continue;
        }

        if (i > carousel.options.size) {
            break;
        }

        // Create an object from HTML
        var item = $(mycarousel_getItemHTML(carousel.options.itemList[i-1])).get(0);

        carousel.add(i, item);
    }

	var length = (carousel.options.size * 80) + ((carousel.options.size - 1) * 5) + 252;
	jQuery("#" + carousel.list.attr('id')).css('width', length + 'px');
	//var carouselWidth = (3 * parseInt((jQuery('.jcarousel-item').css('margin-right')).split("px"))) + (4 * parseInt($('.jcarousel-item > a > img').attr('width'))) + 10;
	jQuery("#" + carousel.options.clipId).css('width', '345px');
	
	jQuery(bindString).bind('mouseover', function(e) {
		startTimer(carousel, e);
        return false;
    });
	
	jQuery(bindString).bind('mousemove', function(e) {
		resetData(e, clipId, wrapId);
        return false;
    });
			    
    jQuery(bindString).bind('mouseout', function() {
    	global_timer.stop();
        return false;
    });
    
};

function stopFLVPlayer() {
    playerCount = document.getElementsByTagName('object');
    for (i=0; i < playerCount.length; i++) {
        playerID = playerCount[i].id;
        if (playerID != '') {
            if (document.getElementById(playerID).parentNode.style.display == 'block') {
                document.getElementById(playerID).SetVariable('player:jsStop', '');
            }
        }
    }
};

function reloadSWF(containerNumber){
    containerId = $('#div_sektion' + containerNumber + ' .playercontainer').attr('id');
    if (containerId != null) {
        playerId = containerId.substr(7);
        $('#player-' + playerId).html('<div id="myMovie' + playerId + '" class="videoladingdiv">Video wird geladen...</div>');
        var params = { "allowFullScreen": "true", "wmode": "window" };
        var attributes = {};
        swfobject.embedSWF(movie[playerId], 'myMovie'+playerId, "345", "225", "9.0.0","expressInstall.swf", flashvars[playerId], params, attributes);
    }
}

(function($) {
    $.fn.outerHTML = function(s) {
        return (s)
        ? this.before(s).remove()
        : $('<p>').append(this.eq(0).clone()).html();
    }
})(jQuery);

