/**
 * Button Appearance
 */
var selected = '';
var preloadFlag = false;
var sidebarCount = 0;

function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}

function changeImagesArray(array) {
    if (document.images && (preloadFlag == true)) {
        for (var i=0; i<array.length; i+=2) {
            document[array[i]].src = array[i+1];
        }
    }
}

function changeImages() {
    changeImagesArray(changeImages.arguments);
}

function toggleImages() {
    for (var i=0; i<toggleImages.arguments.length; i+=2) {
    if (selected == toggleImages.arguments[i])
    	changeImagesArray(toggleImages.arguments[i+1]);
    }
}

function preloadImages() {
    if (document.images) {
        B_about_over = newImage("media/graphic/B_about-over.gif");
        B_about_down = newImage("media/graphic/B_about-down.gif");
        B_concert_over = newImage("media/graphic/B_concert-over.gif");
        B_concert_down = newImage("media/graphic/B_concert-down.gif");
        B_guestbook_over = newImage("media/graphic/B_guestbook-over.gif");
        B_guestbook_down = newImage("media/graphic/B_guestbook-down.gif");
        B_impressum_over = newImage("media/graphic/B_impressum-over.gif");
        B_impressum_down = newImage("media/graphic/B_impressum-down.gif");
        B_Links_over = newImage("media/graphic/B_Links-over.gif");
        B_Links_down = newImage("media/graphic/B_Links-down.gif");
        B_ask_over = newImage("media/graphic/B_ask-over.gif");
        Sub_01_down = newImage("media/graphic/Sub_01-down.gif");
        Sub_01_over = newImage("media/graphic/Sub_01-over.gif");
        Sub_02_over = newImage("media/graphic/Sub_02-over.gif");
        Sub_02_down = newImage("media/graphic/Sub_02-down.gif");
        Sub_03_over = newImage("media/graphic/Sub_03-over.gif");
        Sub_03_down = newImage("media/graphic/Sub_03-down.gif");
        Sub_04_over = newImage("media/graphic/Sub_04-over.gif");
        Sub_04_down = newImage("media/graphic/Sub_04-down.gif");
        
        B_scrollUp_over = newImage("media/graphic/B_scrollUp-over.gif");
        B_scrollUp_down = newImage("media/graphic/B_scrollUp-down.gif");
        B_scrollDown_over = newImage("media/graphic/B_scrollDown-over.gif");
        B_scrollDown_down = newImage("media/graphic/B_scrollDown-down.gif");
        preloadFlag = true;
    }
    
    sidebarCount = 0;
    
    new PeriodicalExecuter(function(){
    	setupScrollControl();
    }, 0.1);
}

/**
 * Sidemenu
 */
function subMenu(bin) {
    if(bin == 1){
        if (sidebarCount < 5) {
            setTimeout("addSub("+sidebarCount+")", 60);
        } else {
        	sidebarCount = 5;
            return sidebarCount;
        }

    } else {
        if (sidebarCount > 0) {
            setTimeout("deleteSub("+sidebarCount+")", 60);
        } else {
        	sidebarCount = 0;
            return sidebarCount;
        }
    }
}
function addSub (id){
	
	$('sub' + (id + 1)).style.visibility = 'visible';
	sidebarCount++;
    subMenu(1);
}
function deleteSub (id){
	$('sub' + id).style.visibility = 'hidden';
	sidebarCount--;
    subMenu(0);
}

/**
 * Scroller Stuff
 */
function setupScrollControl() {
    var visible = (parseInt($('Content').offsetHeight) > parseInt($('ContentWindow').offsetHeight));
    $('scrollUp').style.visibility = visible ? 'visible' : 'hidden';
	$('scrollDown').style.visibility = visible ? 'visible' : 'hidden';   
}

function scrollControl (direction, speed) {
    if (parseInt($('Content').offsetHeight) > parseInt($('ContentWindow').offsetHeight)) {
    	startScroll(direction, speed);
    }
}

var moveTrue = 0;
function stopScroll() {
    clearInterval (moveTrue);
}

function startScroll(direction, speed) {
	moveTrue = setInterval('updateScroll(' + direction + ')', speed);
}

function updateScroll (direction) {
	var content = $('Content');
	var window = $('ContentWindow');

	var newPos = parseInt(content.style.top) + direction;
	if (direction < 0) {
		var minPos = -(parseInt(content.offsetHeight) - parseInt(window.offsetHeight));
		if (newPos <= minPos) {
			stopScroll();
		}
		newPos = Math.max(newPos, minPos);
	} else if (direction > 0) {
		if (newPos >= 0) {
			stopScroll();
		}
		newPos = Math.min(0, newPos);
	}
	
	content.style.top = newPos + 'px';
}

/**
 * AJAX Stuff
 */
function showOverlay(url) {
	$('overlay-image').src = url;
	$('overlay').style.visibility = 'visible';
}
function hideOverlay() {
	$('overlay-image').src = '';
	$('overlay').style.visibility = 'hidden';
}

function mailSend(){
	requestContent("handler/mail_send.php5", "post", getFormValues());
}

function gbAdd() {
	requestContent("handler/gb.php5?mode=add", "post", getFormValues());
}

function loadGb() {
	requestContent("handler/gb.php5", "get");
}

function loadContent(id) {
	requestContent("handler/content.php5", "get", { index: id });
}

function loadPage(url) {
	requestContent(url, "get", {});
}

function getFormValues() {
	var vals = {};
	$$('input', 'textarea', 'select').each(function(e) {
		vals[e.name] = e.value;
	});
	
	return vals;
}

function requestContent(url, method, parameters){
	new Ajax.Request(url, {
		method: method, parameters: parameters,
		onSuccess: function(transport) {
			$("Content").style.top = "0px"
			$('Content').update(transport.responseText);
		}
	});
}
