﻿/**
 *	Script to handle the menu
 */

//Bools to determine when to slide toggle the header (in photo mode)
var headerStatus = true;
var photoMode = false;

//Settings for the default language and the language to be used throughout the system
var languageStandard = 0;
var language = new Array("de_","en_");
var languageSet = 1;
//Settings for the default audio behavior
var audio = true;
//Settings for the default popup behavior
var popups = true;
//id of the last used menu link
var lastUsedMenuLink = "";
//id of the last used top menu with second menu popout
var lastUsedFirstSingle = "";
//id of the last used top menu item with photoslide and no third menu
var lastUsedFirstDouble = "";
//id of the last used second menu item with photoslide only
var lastUsedSecondSingle = "";
//id of the last used second menu item with photoslide and third menu
var lastUsedSecondDouble = "";
//id of the last used third menu item
var lastUsedThird = "";
//slide speed settings
var slideSpeed = "fast";
var headerSlideToggleSpeed = 500;
var headerSlideToggleCSS = "-100px";

var contentFirstMenu = "-132px"
var contentSecondMenu = "-102px";

function showSecondMenu(menu){
    $("#box_two").slideToggle(slideSpeed);
    loadSecondMenu(menu);
}
function hideSecondMenu(){
    $("#box_two").slideToggle(slideSpeed);
}
function showSlides(){
    $("#box_three").slideToggle(slideSpeed);
    togglePhotoMode();
}
function hideSlides(){
    $("#box_three").slideToggle(slideSpeed);
    togglePhotoMode();
}
function showThirdMenu(menu){
    $("#box_four").slideToggle(slideSpeed);
    loadThirdMenu(menu);
}
function hideThirdMenu(){
    $("#box_four").slideToggle(slideSpeed);
}
function loadSecondMenu(menu){
    loadMenuLanguage(menu);
    $("."+menu).css({
	"display": "block"
    });
}
function unloadSecondMenu(){
    $("#second ul").css({
	"display":"none"
    });
}
function loadThirdMenu(menu){
    loadMenuLanguage(menu);
    $("."+menu).css({
	"display": "block"
    });
    $("#stretch_helper").css({
	"display":"none"
    });
}
function unloadThirdMenu(){
    $("#third ul").css({
	"display":"none"
    });
    $("#stretch_helper").css({
	"display":"block"
    });
}
/**
 *  Loads the menu entry text for each menu defined by the global language setting languageSet
 *  @config Do not call this function directly, rather include it in a global setting!
 **/
function loadMenuLanguage(menu){
    $("."+menu+" li p").each(function(){
	var id = $(this).attr("id");
	$(this).text(menuText[language[languageSet]+id]);
    });
}
/**
 *  Loads the text for the contact link depending on the language being set
 *  @config Do not call this function directly, rather include it in a global setting!
 **/
function loadContactLanguage(){
    $("#contact").text(menuText[language[languageSet]+$("#contact").attr("id")]);
}
/**
 *  Sets the tamsen-maritim link depending on language setting
 **/
function loadMaritimLinkLanguage(){
    //sets the link text according to language setting
    $("#link_tamsen_maritim").text(menuText[language[languageSet]+$("#link_tamsen_maritim").attr("id")+"_link"]);
    //sets the link according to the language setting
    $("#link_tamsen_maritim").attr("href", "http://"+menuText[language[languageSet]+$("#link_tamsen_maritim").attr("id")+"_link"])
}
/**
 *  Slides the header up, if in photomode
 *  @param calledFrom Parameter (int) to determine the caller function
 *  @return Returns calledFrom parameter, if null returns 0
 **/
function slideToggleHeader(calledFrom){
    if(calledFrom!=null){
	if(photoMode){
	    if(headerStatus){
		//slide up
		if(calledFrom==2){
		    $(".header").animate({
			"top":headerSlideToggleCSS
		    }, headerSlideToggleSpeed);
		    headerStatus = false;
		    slidePopup(2);
		}
	    }else{
		//slide down
		if(calledFrom==1){
		    $(".header").animate({
			"top":"0px"
		    }, headerSlideToggleSpeed);
		    headerStatus = true;
		    slidePopup(1);
		}
	    }
	}else{
	    if(!headerStatus){
		if(calledFrom==3){
		    $(".header").animate({
			"top":"0px"
		    },headerSlideToggleSpeed);
		    headerStatus = true;
		    slidePopup(1);
		}
	    }
	}
	return calledFrom;
    }else{
	return 0;
    }
}
/**
 *  Toggles the photo mode, sets event handlers for sliding the header
 *  up and down while in photo mode
 **/
function togglePhotoMode(){
    if(!photoMode){
	photoMode = true;
	$("#box_one").livequery("mouseover", function(event){
	    slideToggleHeader(1);
	});
	$(".picture").livequery("mouseover", function(event){
	    slideToggleHeader(2);
	});
    }else{
	photoMode = false;
	slideToggleHeader(3);
	closePopup(0);
	$("#box_one").expire();
	$(".picture").expire();
    }
}
/**
 *  Slide up or down the popup if slideToggleHeader is called
 *  @param calledFrom 2 if it was called to slide up, 1 if it was called to slide down
 **/
function slidePopup(calledFrom){
    //called to slide down
    if(calledFrom == 1){
	$("#picture_popup").animate({
	    "top":"148px"
	}, headerSlideToggleSpeed);
    }
    //called to slide up
    if(calledFrom == 2){
	$("#picture_popup").animate({
	    "top":"50px"
	}, headerSlideToggleSpeed);
    }
}
