
$j = $; //jQuery.noConflict();
var scrollerstepwidth = 1;
var steps = 1;
jQuery.easing.def = 'easeOutCirc';


// extract coockies

a = document.cookie;
var lines = a.split("; ");

var cookies = new Array();
var parts = new Array();
var mouse_wheel_buffer = 0;

var jump_steps = 1;


for (var i = 0; i <lines.length;i++)
{
	if (lines[i] == "")
		continue;
	
	parts = lines[i].split("=");
	//cookies[i] = new Array();
	cookies[parts[0]] = parts[1];
}

$(document).ready(function(){
	// disable old events
	/*
	$j('li.Level0Item > ol').hide();

	$j('li.Level0Item').mouseover(function(){
		console.log('hover');
		$j('> ol', this).slideDown();
	}).mouseout(function(){
		$j('> ol', this).slideUp();
	});
	*/

	var divs = 
        $(unescape('%3Cdiv class="scroller" style=""%3E %3C/div%3E'));
	
	$('#lev1_balken').append(divs);
	steps = $('#scrollContainer .scrollContent').length;
	
	if (steps > 1)
	{
		var width = $('#lev1_balken')[0].offsetWidth-4;
		
		$("#scrollBand").css('width',steps*$('#scrollContainer .scrollContent')[0].offsetWidth+"px");
		
		
		steps_per_page = Math.ceil($('#scrollContainer')[0].offsetWidth/$('#scrollContainer .scrollContent')[0].offsetWidth);
		steps -= steps_per_page-1;
		
		scrollerstepwidth = width/steps;
		/* console.log(steps_per_page);
		console.log("scrollpane width:"+width);
		console.log('scroller stepwith: '+scrollerstepwidth);
		console.log ('steps: '+steps);
		console.log ('steps per page: '+steps_per_page); */
		
		scrollerwidth = width/steps;
		
		scrollerwidth2 = width/Math.round($('#scrollBand')[0].offsetWidth/$('#scrollContainer')[0].offsetWidth);
		//console.log(scrollerwidth2);
		//console.log($('#scrollBand')[0].offsetWidth);
		
		//if (scrollerwidth < 20)
		//	scrollerwidth = 20;
		if (steps>1)
		{
			$('#lev1_balken').before('<a id="lev1_balken_left_arrow" href="javascript: scrollLeft();">&nbsp;</a>');
			$('#lev1_balken').after('<a id="lev1_balken_right_arrow" href="javascript: scrollRight();">&nbsp;</a>');
			
			$('#lev1_balken .scroller').css('width',scrollerstepwidth+"px");
			$('#lev1_balken .scroller').css('cursor',"pointer");
			$('#lev1_balken').css('cursor',"pointer");
			
			$('#scrollContainer').mousewheel(function(objEvent, intDelta) {
				if (intDelta > 0)
				{
					//up 
					//scrollLeft();
					mouse_wheel_buffer--;
				}
				else
				{
					//scrollRight();
					mouse_wheel_buffer++;
				}
			});
			
			$('#lev1_balken .scroller').draggable({
				containment: $('#lev1_balken'), 
				axis: 'x',
				/* grid: [stepwidth,20], */
				drag: onScrollerDragging2,
				stop: onScrollerDragging
			});
			
			if (hide_scroller_arrows == undefined)
				var hide_scroller_arrows = false;
			
			$("#lev1_balken").bind('click',scrollBarClicked);
			
			if (!hide_scroller_arrows)
			{
				$('#scrollContainer').append('<a href="javascript: scrollLeft();" class="arrow_left"></a>');
				$('#scrollContainer .arrow_left').hover(function() {$('#scrollContainer .arrow_left').addClass('arrow_left_hover');},function() {$('#scrollContainer .arrow_left').removeClass('arrow_left_hover');});
				
				$('#scrollContainer').append('<a href="javascript: scrollRight();" class="arrow_right"></a>');
				$('#scrollContainer .arrow_right').hover(function() {$('#scrollContainer .arrow_right').addClass('arrow_right_hover');},function() {$('#scrollContainer .arrow_right').removeClass('arrow_right_hover');});
			}
			
		}
	}
	
	if (cookies["scroller_pos_"+page_id] && steps>1)
	{
		cur_scroller_pos = parseInt(cookies["scroller_pos_"+page_id]);
		restore_saved_scroller_pos();
	}
	// scroll Buttons
	/* $('#scrollContainer').bind('mousemove',function(e)
	{
		console.log(e);
	});  */
	

	$('a.image-popup').lightBox();
	
	window.setTimeout("showArrows();",0);
	window.setTimeout("hideArrows();",2000);
});

var cur_scroller_pos = 0;

setInterval("move_wheel_scrolled();",500);

function showArrows() {
	if($('#scrollContainer .arrow_left').length>0) {
		$('#scrollContainer .arrow_left').addClass('arrow_left_hover');
		$('#scrollContainer .arrow_right').addClass('arrow_right_hover');
	} else{
		$('.arrow_left').addClass('arrow_left_hover');
		$('.arrow_right').addClass('arrow_right_hover');
	}
}

function hideArrows() {
	if($('#scrollContainer .arrow_left').length>0) {
		$('#scrollContainer .arrow_left').removeClass('arrow_left_hover');
		$('#scrollContainer .arrow_right').removeClass('arrow_right_hover');
	} else{
		$('.arrow_left').removeClass('arrow_left_hover');
		$('.arrow_right').removeClass('arrow_right_hover');
	}
}

function move_wheel_scrolled()
{
	//console.log(mouse_wheel_buffer);
	
	
	cur_scroller_pos += mouse_wheel_buffer;
	
	if (cur_scroller_pos > (steps-1))
		cur_scroller_pos = steps-1;
	
	if (cur_scroller_pos <= 0)
		cur_scroller_pos = 0;

	
	if (mouse_wheel_buffer)
	{
		onScrollDragged();
		moveScroller();
	}
	
	mouse_wheel_buffer = 0;
}

function restore_saved_scroller_pos()
{
	var scrollband_left = $('#scrollContainer .scrollContent')[0].offsetWidth*cur_scroller_pos*(-1);
	
	//alert(scrollband_left);
	$('#scrollBand').css({marginLeft:scrollband_left+"px"});
	
	var margin_left = scrollerstepwidth*cur_scroller_pos;
	$('#lev1_balken .scroller').css({left:margin_left+"px"});
}

function onScrollerDragging2(event, ui)
{
	var new_pos = ui.position.left/scrollerstepwidth;
	var margin_left = $('#scrollContainer .scrollContent')[0].offsetWidth*new_pos*(-1);
	
	$('#scrollBand').css({marginLeft:margin_left+"px"});
}

function onScrollerDragging(event, ui)
{
	new_pos = Math.round(ui.position.left/scrollerstepwidth);
	
	if (cur_scroller_pos != new_pos)
	{
		cur_scroller_pos = new_pos;
		onScrollDragged();
		//moveScroller();
	}

}

function scrollBarClicked(e)
{
	
	var scroll_container_pos = getAbsolutePosition($('#lev1_balken')[0]);
	var click_pos = getPos(e,'X')-scroll_container_pos.x;
	//e.clientX
	var scroller_pos = parseInt($('#lev1_balken .scroller').css('left').replace('px',''));
	var scroller_with = parseInt($('#lev1_balken .scroller').css('width').replace('px',''));
	
	
	if (isNaN(scroller_pos))
		scroller_pos = 0;
	
	if (click_pos > (scroller_pos + scroller_with))
	{
		scrollRight();
	}
	else if (click_pos < (scroller_pos))
	{
		scrollLeft();
	} 
	
}

function onScrollDragged()
{
	document.cookie="scroller_pos_"+page_id+"="+cur_scroller_pos;
	
	var margin_left = $('#scrollContainer .scrollContent')[0].offsetWidth*cur_scroller_pos*(-1);
	$('#scrollBand').animate({ 
		marginLeft:margin_left+"px"
	},"slow","swing");
}

function moveScroller()
{
	document.cookie="scroller_pos_"+page_id+"="+cur_scroller_pos;
	
	var margin_left = scrollerstepwidth*cur_scroller_pos;
	$('#lev1_balken .scroller').animate({ 
		left:margin_left+"px"
	},"slow","swing");
}

function scrollRight()
{	
	cur_scroller_pos+=jump_steps;
	
	if ((cur_scroller_pos > (steps-1))) {
		while((cur_scroller_pos-jump_steps+1) == (steps-1)) {
			cur_scroller_pos--;
		}
	}	
	
	if (cur_scroller_pos > (steps-1))
		cur_scroller_pos = 0;

	onScrollDragged();
	moveScroller();
}

function scrollLeft()
{
	cur_scroller_pos-=jump_steps;
	
	if ((cur_scroller_pos < 0)) {
		while((cur_scroller_pos+jump_steps-1) == 0) {
			cur_scroller_pos++;
		}
	}	
	
	if (cur_scroller_pos < 0)
		cur_scroller_pos = (steps-1);
	
	onScrollDragged();
	moveScroller();
}


function getPos (event, c) {
	var p = c == 'X' ? 'Left' : 'Top';
	return event['page' + c] || (event['client' + c] + (document.documentElement['scroll' + p] || document.body['scroll' + p])) || 0;
};

function getAbsolutePosition(element) {
    var r = { x: element.offsetLeft, y: element.offsetTop };
    if (element.offsetParent) {
      var tmp = getAbsolutePosition(element.offsetParent);
      r.x += tmp.x;
      r.y += tmp.y;
    }
    return r;
};

function decryptCharcode(character) {
	character = character-2;
	
	return String.fromCharCode(character);
}

function link_toUncryptMail(str) {
	var len = str.length;
	var new_str = "mailto:";

	for(i=0; i<len; i++) {
		new_str = new_str+decryptCharcode(str.charCodeAt(i));
	}
	
	location.href=new_str;	
}

function openVideo(video_name, width, height) {
	var correct_flash_version = (deconcept.SWFObjectUtil.getPlayerVersion().major >= 7);
	
	var show = function(hash) {
			hash.w.fadeIn();
	}
	
	var hide = function(hash) {
		hash.o.remove();
		hash.w.fadeOut();
		$j("#VideoContainer").remove();
		$j("#PopupVideo").remove();
	}
	
	if (!$j("#PopupGala").length) {
		if(!correct_flash_version)
			$j('body').prepend('<div id="PopupVideo" style="position: absolute; width:'+width+'px; height:'+(height+28)+'px; border: 0px solid white; margin-left: -'+(width/2)+'px; top: 2%;" class="jqmWindow"><div style="border: 1px solid black; background: white; padding: 20px; width: 320px; position: absolute; top: 170px; left: 100px;">Diese Seite ben&ouml;tigt Flash-Player mindestens Version 7<br>und aktiviertes Javascript!<br /><br /><a target="_blank" href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BUIGP">Klicken Sie hier um Adobe Flash Player zu installieren</a></div></div>');
		else
			$j('body').prepend('<div id="PopupVideo" style="position: absolute; width:'+width+'px; height:'+(height+35)+'px; background-color:white; border: 0px solid white; margin-left: -'+(width/2)+'px; top:2%; background-color: white;" class="jqmWindow"><div style="text-align: right; margin: 8px;"><a href="javascript: parent.hideVideo();"><img src="/images/close.jpg" border="0"/></a></div><div id=\"VideoContainer\" style=\"width: '+(width)+'px; height: '+(height)+'px;\"></div></div>');
	}
	
	var so = new SWFObject("/videos/"+video_name+".swf?q="+(Math.random()*1000000), "video_popup", width, height, "1", "#ffffff");
	so.addParam('wmode', 'transparent');
	so.addParam('scale','default');
	so.addParam('quality','high');
	so.write("VideoContainer");
	
	$j("#PopupVideo").jqm({modal: false,onShow: show, onHide: hide}).jqmShow();
}

function hideVideo() {
	$j("#PopupVideo").jqmHide();
}
/*
 * Function to log in etracker statistik
 * 
 */

function et_track_ajax_page_call(name)
{
	name = name.split("+").join(" ");
	var pagename = abm_et_pagename;
	pagename += " > "+name
	
	
	
	/* alert(abm_et_key);
	alert(pagename);
	alert(et_areas); */
	
	
	
	et_eC_Wrapper(abm_et_key,decodeURIComponent(pagename),decodeURIComponent(et_areas));
}

