var divHeight = 165;
var $panoInt = 0;
var $slideFade = false;
var $firstOut = false;
var $firstOutInit = true; 

var images = new Array();
var imgfrm = new Array();
var imgidx = 0;
var imagesp = new Array();
var imgfrmp = new Array();
var imgidxp = 0;
var clicktype = "slide"
var base = "";
var loader = "<img src=\"fileadmin/jungerbeer.at/template/tv1/res/loader.gif\" class=\"load\" alt=\"Lade Bilder...\" />";
var progress = 0;
var slideWheel = true;

$(document).ready(function() {
	if ($.ui) {
		$.extend($.ui.slider.prototype, {
			  move: function(step) {
			    this.value(this.value() + step);
			  }
			});
	}
	$('.img_frm').addClass('loader');
	var startTime = new Date().getTime();
    $panoInt = setInterval( "panoSlideSwitch()", 5000 );
	LoadImage(imagesp,imgfrmp,0,imgidxp,true);
	function LoadImage(imgs,frms,i,max,next) {
		if (i<max) {
			progress = progress +1;
			var curr = $('#img_frm_'+frms[i]);
			var loadimg = new Image();
			$(loadimg).load(function() {
				$(this).css('display','none');
				$(curr).removeClass('loader').append(this);
				$(this).fadeIn(200, function(){
					$(this).css({ cursor: "pointer"});
					if (clicktype=="pano") {
						$(this).addClass('pano');
						if (next==true & i>0) {
							$(this).addClass("active");
						}
						$(this).click(function () { panoSlideShowMenu(); });
					} else {
						$(this).click(function (){ cSlideNext(); });
					}
					LoadImage(imgs,frms,i+1,max,next);
				}).error(function () {
					$(curr).removeClass('loader');
					LoadImage(imgs,frms,i+1,max,next);
				});
			}).attr('src', base+imgs[i]).attr('alt',"Projektbild");
		} else if (next) {
			LoadImage(images,imgfrm,0,imgidx,false);
		} else {
			progress=10000;
		}
	}
});

$(function(){
	if ($.ui) {
		$.extend($.ui.slider.prototype,  {
		  up: function(val) {
			alert(val);
		  },
		  down: function() {
		    return this.options.index;
		  }
		});
	}
	var div = $('div.sc_menu'),
	ul = $('ul.sc_menu'),
	ulPadding = 6;
	div.css({overflow: 'hidden'});
	var divHeight = div.height();
	var lastLi = ul.find('li:last-child');
	if (lastLi.length>0) {
		var ulHeight = lastLi[0].offsetTop + lastLi.outerHeight() + ulPadding;
		var pos = 0;
	    var $divAct = $('div.sc_menu');
	    var $ulAct = $('ul.sc_menu');
	    for (var i=0; i<$divAct.length; i++) {
	    	var lastLi = $('ul.sc_menu:eq('+i+')').find('li:last-child');
	    	var actLi = $('ul.sc_menu:eq('+i+')').find('li.active');
	    	var $ulH =  lastLi[0].offsetTop + lastLi.outerHeight() + ulPadding;
	    	if (divHeight < $ulH) {
	        	var init = 100;
	        	if (actLi.length>0) {
	        		valPos = actLi[0].offsetTop - divHeight/2;
	       			if (valPos<0) valPos=0;
	       			if (valPos>($ulH-divHeight)) { valPos=$ulH-divHeight; }
	       			init = 100-(valPos*100/($ulH-divHeight));
	       			$('div.content-scroll:eq('+i+')').animate({scrollTop: (100-init) * (($ulH-divHeight)/100)},200, function() {
	       				$firstOut = false;
	       			});
	        	}
	    		$('div.content-sline:eq('+i+')').css({ top: '0px', visibility: 'visible' });
	    		$('div.content-slider:eq('+i+')').css({ top: '30px', visibility: 'visible' });
	    		$('div.content-slider:eq('+i+')').slider({
	    			animate: true,
	    			change: (function(e,ui){
	    				i = $(this).slider("option","index");
	    		    	var lastLi = $('ul.sc_menu:eq('+i+')').find('li:last-child');
	    		    	var $ulH =  lastLi[0].offsetTop + lastLi.outerHeight() + ulPadding;
	    				var maxScroll = $ulH-divHeight;
	    				var pos = ui.value;
    					$('div.content-scroll:eq('+i+')').animate({scrollTop: (100 - ui.value) * (maxScroll / 100) }, 25);
	    			}),
	    			slide: (function(e,ui){
	    				i = $(this).slider("option","index");
	    		    	var lastLi = $('ul.sc_menu:eq('+i+')').find('li:last-child');
	    		    	var $ulH =  lastLi[0].offsetTop + lastLi.outerHeight() + ulPadding;
	    				var maxScroll = $ulH-divHeight;
	    				var pos = ui.value;
	    				$('div.content-scroll:eq('+i+')').attr({scrollTop: (100 - ui.value) * (maxScroll / 100) }, 25);
	    			}),
	    			value: init,
	    			orientation: 'vertical',
	    			index: i
	    		});
	    		$('div.content-scroll:eq('+i+')').mousewheel(function(event, delta) {
	    			i = $('div.content-scroll').index(this);
	    			var speed = 5;
	    			var pos = $('div.content-slider:eq('+i+')').slider("option", "value");
    		    	var lastLi = $('ul.sc_menu:eq('+i+')').find('li:last-child');
    		    	var $ulH =  lastLi[0].offsetTop + lastLi.outerHeight() + ulPadding;
    				var maxScroll = $ulH-divHeight;
	    			if (delta<0 & pos>0) {
	    				var pos = pos + delta*speed;
	    				if (pos>maxScroll) pos=maxScroll;
	    				$('div.content-slider:eq('+i+')').slider("value", pos);
	    			} else if (delta<0) {
	    				return true;
	    			} else if (delta>0 & pos<100) {
	    				var pos = pos + delta*speed;
	    				if (pos<0) pos=0;
	    				$('div.content-slider:eq('+i+')').slider("value", pos);
	    			} else if (delta>0) {
	    				return true;
	    			}
	    			return false; // prevent default
	    		});
	    	} else {
	    		$('div.submenu:eq('+i+')').css({ height: ($ulH-ulPadding+14)+'px' });
	    		$('div.sc_menu:eq('+i+')').css({ height: ($ulH-ulPadding)+'px' });
	    		$('div.content-scroll-fade-bottom:eq('+i+')').css({ top: ($ulH-ulPadding+8)+'px'});
	    	} 
	    }
		$firstOutInit = false;
	}

	var fdiv1 = $('div.project-title'),
		fdiv2 = $('div.project-facts');
	var cdiv = $('div.description-container'),
		cspan = $('div.description-scroll'),
		cspan2 = $('div.description-span'),
		csline = $('div#description-sline'),
		cslider= $('div#description-slider'),
		cfadetop = $('div#description-scroll-fade-top');
	rest = 356-fdiv1.height()-fdiv2.height();
	fadet = 0-rest-1;
	rtop = 112+fdiv1.height()+fdiv2.height();
	rest2 = rest-40;
	cdiv.css({overflow: 'hidden', height: rest+"px"});
    csline.css({ top: rtop+"px", height: rest+"px"});
    cslider.css({  top: rtop+"px" , height: rest2+"px"});
    cfadetop.css({ top: fadet+"px" });
	var cdivHeight = cdiv.height();
	var clastBr = cspan.find('br:last-child');
	if (clastBr.length > 0) {
		var cspanHeight = cspan2.height();
		if (cdivHeight<cspanHeight) {
			csline.css({visibility: 'visible'});
			cslider.css({visibility: 'visible'});
		} else {
			csline.css({visibility: 'hidden'});
			cslider.css({visibility: 'hidden'});
			$('div#description-scroll-fade-bottom').css({visibility: 'hidden'});
    		$('div#description-title').css( { 'margin-top': (46+rest-cspanHeight)+"px" } );
		}
	}
	
	if ($("#description-slider").length) {
		$("#description-slider").slider({
			animate: true,
			change: (function(e,ui){
				var maxScroll = cspanHeight-cdivHeight;
				var dpos = ui.value;
				var val= (100-ui.value)*(maxScroll/100);
				$("#description-container").animate({scrollTop: val }, 25 );
			}),
			slide: (function(e,ui){
				var maxScroll = cspanHeight-cdivHeight;
				var dpos = ui.value;
				$("#description-container").attr({scrollTop: (100 - ui.value) * (maxScroll / 100) }, 25);
			}),
			value: 100,
			orientation: 'vertical'
		});
		$('#description-container').mousewheel(function(event, delta) {
			var speed = 5;
			var pos = $('#description-slider').slider("option", "value");
			var maxScroll = cspanHeight-cdivHeight;
			if (delta<0 & pos>0) {
				var pos = pos + delta*speed;
				if (pos>maxScroll) pos=maxScroll;
				$('#description-slider').slider("value", pos);
			} else if (delta<0) {
				return true;
			} else if (delta>0 & pos<100) {
				var pos = pos + delta*speed;
				if (pos<0) pos=0;
				$('#description-slider').slider("value", pos);
			} else if (delta>0) {
				return true;
			}
			return false; // prevent default
		});
	}

var ocfdiv1 = $('div.onecol-title');
var ocdiv = $('div.onecol-container'),
	ocspan = $('div.onecol-scroll'),
	ocspan2 = $('div.onecol-span'),
	ocsline = $('div#onecol-sline'),
	ocslider= $('div#onecol-slider'),
	ocfadetop = $('div#onecol-scroll-fade-top');
ocrest = 430-ocfdiv1.height();
ocfadet = 0-ocrest-1;
ocrtop = 36+ocfdiv1.height();
ocrest2 = ocrest-37;
ocdiv.css({overflow: 'hidden', height: ocrest+"px"});
ocsline.css({ top: ocrtop+"px", height: ocrest+"px"});
ocslider.css({  top: ocrtop+"px" , height: ocrest2+"px"});
ocfadetop.css({ top: ocfadet+"px" });
var ocdivHeight = ocdiv.height();
var oclastBr = ocspan.find('br:last-child');
if (oclastBr.length > 0) {
	var ocspanHeight = ocspan2.height();
	if (ocdivHeight<ocspanHeight) {
		ocsline.css({visibility: 'visible'});
		ocslider.css({visibility: 'visible'});
	} else {
		ocsline.css({visibility: 'hidden'});
		ocslider.css({visibility: 'hidden'});
		$('div#onecol-scroll-fade-bottom').css({visibility: 'hidden'});
		$('div#onecol-title').css( { 'margin-top': (46+ocrest-ocspanHeight)+"px" } );
	}
}

if ($("#onecol-slider").length) {
	$("#onecol-slider").slider({
		animate: true,
		change: (function(e,ui){
			var maxScroll = ocspanHeight-ocdivHeight;
			var dpos = ui.value;
			var val= (100-ui.value)*(maxScroll/100);
			$("#onecol-container").animate({scrollTop: val }, 25 );
		}),
		slide: (function(e,ui){
			var maxScroll = ocspanHeight-ocdivHeight;
			var dpos = ui.value;
			$("#onecol-container").attr({scrollTop: (100 - ui.value) * (maxScroll / 100) }, 25);
		}),
		value: 100,
		orientation: 'vertical'
	});
	$('#onecol-container').mousewheel(function(event, delta) {
		var speed = 5;
		var pos = $('#onecol-slider').slider("option", "value");
		var maxScroll = ocspanHeight-ocdivHeight;
		if (delta<0 & pos>0) {
			var pos = pos + delta*speed;
			if (pos>maxScroll) pos=maxScroll;
			$('#onecol-slider').slider("value", pos);
		} else if (delta<0) {
			return true;
		} else if (delta>0 & pos<100) {
			var pos = pos + delta*speed;
			if (pos<0) pos=0;
			$('#onecol-slider').slider("value", pos);
		} else if (delta>0) {
			return true;
		}
		return false; // prevent default
	});
}
});

function menuSwitch($i) {
	var $mactive = $('#menu div.m_active');
	$('#menu div#'+$i).addClass('m_active');
	$mactive.removeClass('m_active');
}

function cPreviewSwitch($i,$out) {
	if ($firstOut) {
		var $active = $('#previewpic img.active');
		if ($active.length == 0 ) $active = $('#previewpic img:last');
		$active.removeClass('active');
		$('#previewpic img#'+$i).addClass('active')
		return false;
	} else if (!$firstOutInit) {
		$firstOut = $out;
	}
}
function cPreviewSwitchOld($i) {
	var $active = $('#previewpic img.active');
	if ($active.length == 0 ) $active = $('#previewpic img:last');
	$active.addClass('last-active');
	$('#previewpic img#'+$i).css({opacity: 0.0})
		.addClass('active')
		.fadeTo(100, 1, function() {
			$active.removeClass('active last-active');
		},2);
	return false;
}
function panoSlideSwitch() {
    var $active = $('img.pano');
    if ( $active.length == 0 ) $active = $('img.pano:last');
    var $now = false;
    for (var i=0; i<$active.length; i++) {
    	if ($('img.pano:eq('+i+')').is('.active')) {
    		if (i>(progress-3)) { return false; }
			$now =$('img.pano:eq('+i+')');
    		if (i<$active.length-1) {
    			$next = $('img.pano:eq('+(i+1)+')');
    		} else {
    			$next = $('img.pano:first');
    		}
    		i=$active.length;
    	}
    }  
    if ($now) {
    	$now.addClass('last-active');
    	$next.css({opacity: 0.0})
        	.addClass('active')
        	.animate({opacity: 1.0}, 1000, function() {
        		$now.removeClass('active last-active');
        	});
    }
}

function panoSlideShowMenu() {
        
	if ($panoInt) {
		$('#menucontainer').css({opacity: 0.0})
		.addClass('front')
		.animate({opacity: 1.0}, 1000, function() {
			return false;
		});
		$('#menu').css({opacity: 0.0})
			.addClass('front')
			.animate({opacity: 1.0}, 250, function() {
				return false;
			});
		$('#menu2').css({opacity: 0.0})
			.addClass('front')
			.animate({opacity: 1.0}, 250, function() {
				return false;
			});
		$('#enterbutton').css({opacity: 1.0})
			.animate({opacity: 0.0}, 150, function() {
				$('#enterbutton').addClass('hide-enter');
			});
		
		
		//Franz Koenig ergaenzung
			$('#beer_startseite').css({opacity: 1.0})
			.animate({opacity: 0.0}, 150, function() {
			$('#beer_startseite').addClass('hide-enter');
			});
		
			
		$('img.pano').css({ cursor: 'default' });
		clearInterval($panoInt);
		$panoInt = false;
	}
}

function cSlideSwitch($i) {
	if ($slideFade) return false;
	if (!$('#contentslide div#'+$i).hasClass('active')) {
		var $active = $('#contentslide div.active');
		var $hactive = $('#submenu a.active');
	
		if ($active.length == 0 ) $active = $('#contentslide div:last');
		$active.addClass('last-active');
		$hactive.removeClass('active');
		$slideFade = true;
		$('#contentslide div#'+$i).css({opacity: 0.0})
			.addClass('active')
			.fadeTo(500, 1, function() {
				$active.removeClass('active last-active');
				$slideFade = false;
			});
		$('#submenu a#href_'+$i).addClass('active');
	}
	return false;
}


function cSlideNext() {
	if ($slideFade) return false;
    var $active = $('.slide');
    var $hactive = $('#submenu a.active');
    if ( $active.length == 0 ) $active = $('div.slide:last');
    for (var i=0; i<$active.length; i++) {
    	$hnext=false;
    	if ($('.slide:eq('+i+')').is('.active')) {
			$now =$('.slide:eq('+i+')');
    		if (i<$active.length-1) {
    			$next = $('.slide:eq('+(i+1)+')');
    			$hnext = $('#submenu a:eq('+(i+1)+')');
    		} else {
    			$next = $('.slide:first');
    			$hnext = $('#submenu a:first');
    		}
    		i=$active.length;
    	}
    }  
    if ($hnext) {
    	$now.addClass('last-active');
    	$hnext.addClass('active');
    	$hactive.removeClass('active');
	    $slideFade = true;
	    $next.css({opacity: 0.0})
	        .addClass('active')
	        .addClass('busy')
	        .animate({opacity: 1.0}, 1000, function() {
	            $now.removeClass('active');
	            $now.removeClass('last-active');
	            $next.removeClass('busy');
	            $slideFade = false;
	        });
    }
}

function cToggle(id) {
	if ($("#"+id).hasClass('hide')) {
		$("#"+id).removeClass('hide');
	} else {
		$("#"+id).addClass('hide');
	}
	return false;
}

