function setBackground(url) {
    if($('div#fullscreenBackgroundImage img.preloader').attr('src') != url) $('div#fullscreenBackgroundImage img.preloader').attr('src', url);
    }

function setMainNavSelected(id) {
    $('#contentLeft ul li').removeClass('selected');
    $('#mainNavigation_'+id).addClass('selected');
    $('#contentLeft ul li span.lions').hide();
    $('#contentLeft ul li.selected span.lions').css('display', 'inline-block');
    }

function resizeBackgroundToFullscreen() {
	if($('body').hasClass('galleryFlag')) {
		$('div#brcGalleryMainImage img.main').css({
            'width' : 'auto',
            'height': 'auto'
            });
	
		 var targetWidth = $('div#brcGallery').width();
		 var targetHeight = $('div#brcGallery').height();
		 var ratio = targetWidth/$('div#brcGalleryMainImage img.main').width();
		 if(ratio * $('div#brcGalleryMainImage img.main').height() > targetHeight) {
			 ratio = targetHeight/$('div#brcGalleryMainImage img.main').height();
		 	}
		 
		 var top = (targetHeight-(ratio * $('div#brcGalleryMainImage img.main').height()))/2;
		 var left = (targetWidth-(ratio * $('div#brcGalleryMainImage img.main').width()))/2;
				 
		 $('div#brcGalleryMainImage img').css({
	            'width' : $('div#brcGalleryMainImage img.main').width()*ratio,
	            'height': $('div#brcGalleryMainImage img.main').height()*ratio,
	            'left': left,
	            'top': top
	            });
	    
		$('div#brcGalleryMainImage img.main').fadeIn(400);
	}
	else {
		$('div#fullscreenBackgroundImage img.background').css({
	            'width' : 'auto',
	            'height': 'auto'
	            });
	    var targetWidth = $('div#fullscreenBackgroundImage').width();
	    var targetHeight = $('div#fullscreenBackgroundImage').height();
	    var ratio = targetWidth/$('div#fullscreenBackgroundImage img.background').width();
	    if(ratio * $('div#fullscreenBackgroundImage img.background').height() < targetHeight) {
	        ratio = targetHeight/$('div#fullscreenBackgroundImage img.background').height();
	        }
	
	    $('div#fullscreenBackgroundImage img').css({
	            'width' : $('div#fullscreenBackgroundImage img.background').width()*ratio,
	            'height': $('div#fullscreenBackgroundImage img.background').height()*ratio
	            });
	    
	    $('div#fullscreenBackgroundImage img.background').fadeIn(400);
	}
}

function updateItem(params,callback) {
    params['requestType']='ajax';

    $.ajax({
        cache: false,
            type: "POST",
            url: '/Orders/updateItem',
            success: function(qdata){
                    if(callback)
                        callback(qdata);
                    else {
                        $('#contentFrame').html(qdata).fadeIn(200);
                    }
                },
          data: params
        });
    return false;
}

function gotoContentPage(url) {
    $('.selectBox-dropdown-menu').remove();
    $.ajax({
        cache: false,
            type: "POST",
            url: url,
            success: function(qdata){
                $('#contentFrame').html(qdata).fadeIn(200);
                },
          data: {requestType: 'ajax'}
        });
    return false;
}


function setHash(hash) {
	var oldHash = window.location.hash;
	window.location.hash = hash;
    $('body').data('currentHash',window.location.hash);
    if(window.location.hash != oldHash) return true;
    return false;
}

function scrollToHash(hash) {
    if($('#'+hash).length > 0) {
        var offset = $('#'+hash).offset();
        $(document).scrollTop(offset.top);
        }
    }

function ajaxLoadContent(url, hash) {
	if($('body').hasClass('inTransformation')) return false;
	
	$('#contentFrame').fadeOut(200);
	var data = { 'requestType': 'ajax' };


	$.ajax({
		cache: false,
			type: "POST",
			url: url,
			success: function(qdata){
				$('#contentFrame').stop().css('opacity', 1).hide().html(qdata).fadeIn(200);
				if(currentDocumentId != 1 && $('body').hasClass('homeFlag')) transformToContentPage();
				else if(currentDocumentId == 1 && !$('body').hasClass('homeFlag')) transformToHomePage();
				scrollToHash(hash);
				},
  		data: data
			});
	}

function checkHash() {
    if($('body').data('currentHash')) var currentHash = $('body').data('currentHash').replace(/%23/, '#').split("#");
    else var currentHash = '';

    var testHash = window.location.hash.replace(/%23/, '#').split("#");
    if(testHash[1] != currentHash[1] && window.location.hash != '') {
        ajaxLoadContent(window.location.hash.substr(1,window.location.hash.length), testHash[2]);
        setHash(window.location.hash);
        }

    if(testHash[2] != currentHash[2] && window.location.hash != '') {
        scrollToHash(testHash[2]);
        setHash(window.location.hash);
        }
    }

function isIE() {
    return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}


function transformOutContentPage(cbfunction) {
    if(isIE()) {
        $('div#contentRight').css('display','none');
    } else {
        $('div#contentRight').animate({'opacity':0},500,function() {$('div#contentRight').css('display','none');});
    }

	$('div#backgroundContentRight').fadeOut(500, function() {
		$('div#contentLeft').gx({left:'-348px'}, 300, 'Quint', function(el) { $(el).hide();});
		$('div#backgroundContentLeft').gx({left:'-348px'}, 300, 'Quint', function(el) { $(el).hide(); cbfunction(); });
	});
}

function transformInContentPage(cbfunction) {
	$('div#backgroundContentLeft').show().gx({left:'0px'}, 300, 'Quint');
	$('div#contentLeft').show().gx({left:'0px'}, 300, 'Quint', function() {
		if(isIE()) {
			$('div#contentRight').css('display','block');
		} else {
			$('div#contentRight').css('display','block').animate({'opacity':1},500);
		}
	$('div#backgroundContentRight').hide().css('opacity','0.6').fadeIn(500, cbfunction);
	});
}

// Transformation zu normaler Seite
function transformToContentPage() {
	$('body').addClass('inTransformation').removeClass('homeFlag');
	
	$('div#documentHomeContent').fadeOut(500);
	$('div#documentHomeLogo').gx({top:'-300px'}, 500, 'Quint', function() {
		transformInContentPage(function() {
			$('body').removeClass('inTransformation');
			});
	});
}


// Transformation zur Startseite
function transformToHomePage() {
	$('body').addClass('inTransformation').addClass('homeFlag');

	transformOutContentPage(function() {
		$('div#documentHomeLogo').gx({top:'0px'}, 500, 'Quint', function() {
			$('body').removeClass('inTransformation');
		});
		$('div#documentHomeContent').fadeIn(500);
	});
}


$(document).ready(function() {
	if(window.location.hash == '' || window.location.hash == '#'+currentHash) {
		setHash(currentHash);	
		}
	else {
		$('#contentFrame').html('');
		}
	window.setInterval("checkHash()", 500);

    $('#facebookLink').bind('mouseenter', showFacebookBubble);
    $('#facebookLink').bind('mouseleave', hideFacebookBubble);
    $('#twitterLink').bind('mouseenter', showTwitterBubble);
    $('#twitterLink').bind('mouseleave', hideTwitterBubble);

    $('a.ajaxLink:not(.disabled)').live('click', function() {
    
        if($(this).attr('href') !== 'javascript:;') {
            $(this).data('target', $(this).attr('href'))
                    .attr('href', 'javascript:;');
                    }
        
        if(!$('body').hasClass('inTransformation') && setHash('#'+$(this).data('target'))) {
        	window.scrollTo(0, 0);
        	ajaxLoadContent($(this).data('target'));
        }

        return false;
        });
    
  
    var image = new Image();
    $(image).load(function() {
    	if($('div#fullscreenBackgroundImage img.background').attr('src') != $('div#fullscreenBackgroundImage img.preloader').attr('src')) {
	    	$('div#fullscreenBackgroundImage img.background').fadeOut(400,function() {
	            $(this).attr('src', $('div#fullscreenBackgroundImage img.preloader').attr('src'));
	           });
    	}
    	resizeBackgroundToFullscreen();
    });
    $(image).addClass('preloader').attr('src', $('div#fullscreenBackgroundImage img.background').attr('src'));
    $('div#fullscreenBackgroundImage').append(image);
    
    $(window).bind("resize", function(){
        resizeBackgroundToFullscreen();
    });
    
    // Startseite animationen für die Boxen
    $('#documentHomeContent a').hover(function() {
            $(this).children('span.background').gxInit({queue: 'cancel'}).gx({backgroundColor:'#5b3806'}, 300);

            $(this).children('span.image').children('img').gxInit({queue: 'cancel'}).gx({top:'-17px'}, 200);

            $(this).addClass('hover');
            $('div#documentHomeContent a:not(.hover) span.imageGreyOut').stop(true).animate({opacity:'0.6'}, 100);
            $(this).removeClass('hover');
            },
        function() {
            $(this).children('span.image').children('img').gx({top:'0px'}, 200);

            $(this).children('span.background').gx({backgroundColor:'#000000'}, 200);
            $('div#documentHomeContent a span.imageGreyOut').stop(true).animate({opacity:'0'}, 200);
            });

    // Löwen für die Hauptnavigation
    $('#contentLeft a:not(.disabled)').hover(function() {
            $(this).parent().children('span.lions').css('display', 'inline-block');
        },function() {
            if(!$(this).parent().hasClass('selected')) $(this).parent().children('span.lions').hide();
            });

    $('div.discountButton').click(function() {
    	$('div.discountOverlay').fadeIn(500);
    });
    $('div.discountOverlay').click(function() {
    	$('div.discountOverlay').fadeOut(500);
    });
    
    $('div.discountHint').live('click', function() {
    	$(this).hide();
    });
    
    // Shop Vorbereitungen
    replaceShopMenu();
    });

function replaceShopMenu() {
    $.ajax({
        cache: false,
            type: "POST",
            url: '/Orders/shopmenu',
            success: function(qdata){
                $('#shopmenu').html(qdata).fadeIn(200);
                if($('#logoutbutton').length > 0) {
                	$('body').addClass('loggedIn');
                	}
                else {
                	$('body').removeClass('loggedIn');
                }
                },
            data: {noReturn:1,requestType: 'ajax'}
        });
}

function showFacebookBubble() {
    $('#facebookBubble').css('display','block');
}

function hideFacebookBubble() {
    $('#facebookBubble').css('display','none');
}

function showTwitterBubble() {
    $('#twitterBubble').css('display','block');
}

function hideTwitterBubble() {
    $('#twitterBubble').css('display','none');

}

var brcGallery = {
	init: function() {
		function centerSelected() {
			var selected = $('#brcGalleryThumbImageFrame img.selected');
			var screenWidth = $('#brcGallery').width();
			var width = $('#brcGalleryThumbImageFrame').width();
			var scrollTo = 0;
			var minCondition = selected.position().left+(selected.outerWidth(true)/2) >= (screenWidth/2);
			var maxCondition = selected.position().left+selected.outerWidth(true) <= width-(screenWidth/2);
			if(minCondition && maxCondition) {
				scrollTo = selected.position().left+(selected.outerWidth(true)/2)-(screenWidth/2);
			} else if(minCondition) {
				scrollTo = width-screenWidth;
			}
			
			$('#brcGalleryThumbImageFrame').stop().animate({'left': '-'+scrollTo+'px'},500);
			$('#brcGalleryThumbBar .selectedFlag').css('left', selected.position().left+(selected.outerWidth(true)/2)-14);
		}

		$('div.galleryStack').click(function() {
			var imageFrameWidth = 0;
			
			$.each($(this).jSonComments(), function(i, v) {
				var imageId = v;
				var image = new Image();

				$(image).load(function() {
					$(this).addClass('brcGalleryReadyFlag');
				});
				
				$(image).attr('src', BaseURL+'img/gallery/'+imageId+'_small.jpg').addClass('brcGalleryImage').attr('id','brcGalleryImage_'+imageId);
				$('#brcGalleryThumbImageFrame').append($(image));
			});
			
			$('#brcGalleryThumbBar img').click(function() {
				if(!$(this).hasClass('selected') && !$('#brcGalleryThumbBar').hasClass('dragging')) {
					var imageId = $(this).attr('id').substr(16);
					$('div#brcGalleryMainImage img.preloader').attr('src', BaseURL+'img/gallery/'+imageId+'.jpg');
					$('#brcGalleryThumbImageFrame img.selected').removeClass('selected');
					$(this).addClass('selected');
					centerSelected();
				}
			});
				
			$('body').addClass('galleryFlag');
			$('#fullscreenBackgroundImage').fadeOut(400);
			transformOutContentPage(function() {
				var imageId = $('#brcGalleryThumbImageFrame img:first').attr('id').substr(16);
				
				$('div#brcGalleryMainImage').html($(new Image()).hide().addClass('main'));
				var image = new Image();
				$(image).load(function() {
					$('div#brcGalleryMainImage img.main').fadeOut(400,function() {
						$(this).attr('src', $('div#brcGalleryMainImage img.preloader').attr('src'));
					    resizeBackgroundToFullscreen();
					});
				});
				 
				$(image).addClass('preloader').attr('src', BaseURL+'img/gallery/'+imageId+'.jpg');
				$('div#brcGalleryMainImage').append(image);
				
				$('#brcGalleryThumbImageFrame img.selected').removeClass('selected');
				$('#brcGalleryImage_'+imageId).addClass('selected');
								
				$('#brcGallery').disableSelection().appendTo('body').show();
				centerSelected();
				$('#brcGallery span.logo').gx({'top':'0px'}, 300, 'Quint');
				$('#brcGalleryThumbBar').animate({marginTop:'-190px'}, 300);
				$('#brcGalleryClose').animate({marginLeft:'-175px'}, 300);
				$('#brcGalleryLeft, #brcGalleryRight').css('display', 'block').hide().fadeIn(500);
			});
		});
		
		$('#brcGalleryThumbBar').jDragSlide({
			"axis":'x',
			"start": function() { $('#brcGalleryThumbBar').addClass('dragging'); },
			"stop": function() { window.setTimeout(function(){ $('#brcGalleryThumbBar').removeClass('dragging'); }, 50); }
		});
		
		$('#brcGalleryClose').click(function() {
			$('#brcGallery span.logo').gx({'top':'-170px'}, 300, 'Quint');
			$('#brcGalleryThumbBar').animate({marginTop:'0px'}, 300);
			$('#brcGalleryClose').animate({marginLeft:'0px'}, 300);
			$('#brcGalleryLeft, #brcGalleryRight').fadeOut(500, function() {
				$('#brcGallery').hide().appendTo('#contentFrame');
				$('body').removeClass('galleryFlag');
				$('#fullscreenBackgroundImage').fadeIn(400);
				transformInContentPage(function() {
				});
			});
		});
		
		$('#brcGalleryLeft').click(function() {
			var selected = $('#brcGalleryThumbImageFrame img.selected');
			var prev = selected.prev();
			if(!prev.hasClass('brcGalleryImage')) prev = $('#brcGalleryThumbImageFrame img:last');
			selected.removeClass('selected');
			var imageId = prev.attr('id').substr(16);
			$('div#brcGalleryMainImage img.preloader').attr('src', BaseURL+'img/gallery/'+imageId+'.jpg');
			prev.addClass('selected');
			centerSelected();
		});
		$('#brcGalleryRight').click(function() {
			var selected = $('#brcGalleryThumbImageFrame img.selected');
			var next = selected.next();
			if(!next.hasClass('brcGalleryImage')) next = $('#brcGalleryThumbImageFrame img:first');
			selected.removeClass('selected');
			var imageId = next.attr('id').substr(16);
			$('div#brcGalleryMainImage img.preloader').attr('src', BaseURL+'img/gallery/'+imageId+'.jpg');
			next.addClass('selected');
			centerSelected();
		});
	}
};
