

// -------------------------------------------------------------------------
// Initialisierung, Berechnung des Koordinaten-Ursprungs
// -------------------------------------------------------------------------

// Höhe und Breite des Hintergrundbildes:
var bgWidth = 770;
var bgHeight = 605;

// Koordinatenangeben der Navigation relativ zur linken oberen Ecke des Hintergrundbildes
var navX = 200;
var navY = 60;

var anzahlBilder = 50;


// Aktuelle area:
var currentArea = 1;
var currentImage;

// Verfügbare Höhe und Breite des Browserfensters:
var availWidth;
var availHeight;

// Mittelpunkt des Browserfensters:
var centerX;
var centerY;

// Linke, obere Ecke des Hintergrundbildes:
var bgX;
var bgY;

var oImgPreload;
var isLoading = false;



function gw_schricker_isGoodBrowser() {
	if (is_ie) {
		return (is_ie7up);
	}
	return true;
}


// -------------------------------------------------------------------------
// Ermittelt die linke obere Ecke des Hintergrundes
// -------------------------------------------------------------------------
// Parameter:
// -------------------------------------------------------------------------
function gw_schricker_init() {
	var offsetX = 0;
	var offsetY = 0;
	// Firefox, Opera, etc...
	if (window.innerWidth) {
		availWidth = window.innerWidth + 2;
		availHeight = window.innerHeight -2;
		// Vertikaler Scrollbalken
		if (availHeight < 503){
			availWidth -= 16;
			availHeight = 550;
		}
		// Horizontaler Scrollbalken
		if (availWidth < 786) availWidth = 786;
	// IExplorer
	} else if (document.body.clientWidth) {
		offsetX = 12;
		offsetY = 14;
		availWidth = document.body.clientWidth + 2;
		availHeight = document.body.clientHeight - 2;
		if (availHeight < 517) {
			availHeight = 517;
		} else {
			if (availWidth < 794) availHeight += 16;
		}
	}
	
	//Rundungsfehler beheben:
	/*if ((availHeight % 2 == 0) && (availHeight > 501)) */
	//availHeight -= 2;
	
	centerX = Math.floor(availWidth / 2);
	centerY = Math.floor(availHeight / 2);
	bgX = Math.max(centerX - Math.round(bgWidth / 2), offsetX);
	bgY = Math.max(centerY - Math.round(bgHeight / 2), offsetY);
	
	gw_goTo('nav', navX, navY);
	
	
	
}

// -------------------------------------------------------------------------
// Setzt die Koordinaten eines HTML-Elements.
// Koordinatenangeben sind relativ zur linken oberen Ecke des Hintergrundbildes
// -------------------------------------------------------------------------
// Parameter:
// - elementId : ID des HTML-Elements
// - destX     : X-Koordinate des Zielpunkts
// - destY     : Y-Koordinate des Zielpunkts
// -------------------------------------------------------------------------
function gw_goTo(elementId, destX, destY) {
	var oElement = document.getElementById(elementId);
	if (oElement != null){
		oElement.style.left = bgX + destX + "px";
		//alert(oElement.style.left);
		oElement.style.top = bgY + destY + "px";
	}
}


function gw_changeArea(newArea) {
	
	var oDiv;
	/*
	for (i = 1; i <= 4; i++) {
		oDiv = document.getElementById("nav_area_" + i);
		oDiv.className = "navbox aus";
	}
	*/
	oDiv = document.getElementById("nav_area_" + currentArea);
	oDiv.className = "navbox aus";
	
	oDiv = document.getElementById("nav_area_" + newArea);
	oDiv.className = "navbox an";
	oDiv.blur();
	
	// Fußleiste austauschen:
	oDiv = document.getElementById("fuss");
	oDiv.className = "hg_area" + newArea;
	if (gw_language == 'de') {
		oDiv.className = "hg_area" + newArea;
	} else {
		oDiv.className = "hg_area" + newArea + "_en";
	}
	
	currentArea = newArea;


//	_gw_debug('gw_changeArea(' + newArea + ')');
	
	gw_changeImage('area', newArea);
}

// pageType : {area, sub, subsub, default}
function gw_changeImage(pageType, id) {
	var newImage = '';
	newImage += '_img/bildleiste/';
	if (pageType == 'sub') {
		newImage += 'area_' + currentArea + '_sub_' + id;
	} else if (pageType == 'subsub') {
		newImage += 'area_' + currentArea + '_subsub_' + id;
	} else if (pageType == 'area') {
		newImage += 'area_' + currentArea + '_1';
	} else {
		newImage += 'default';
	}
	newImage += '.jpg';
	
	currentImage = newImage;
	
	// Bild vorladen und Überprüfung, ob Bild existiert:
	oImgPreload = new Image();
	oImgPreload.onload = _gw_setLoadedImage;
	oImgPreload.onerror = _gw_setDefaultImage;
	oImgPreload.src = newImage;

//	_gw_debug('gw_changeImage(' + newImage + ')');
	
	//alert(newImage);
}

function _gw_setImage(newImage) {
	// Bild austauschen:
	var oImg;
	for (i = 1; i <= anzahlBilder; i++) {
		oImg = document.getElementById("image_" + i);
		oImg.src = newImage;
	}
	
//	_gw_debug('_gw_setImage(' + newImage + ')');
	//alert(oImgPreload.width);
	
	// Bewegung starten:
	clearTimeout(lefttime);
	clearTimeout(righttime);
	movestate="";
	fillup();
//	scrollspeed = 2;
//	moveleft();

}

function _gw_debug(str) {
	document.getElementById('debug').innerHTML += " | " + str;
}


function _gw_setLoadedImage() {
	_gw_setImage(currentImage);
}

function _gw_setDefaultImage() {
	gw_changeImage('default', 0);
}
		
// ---------------------------------------------------------------------------
// Liefert die Breite eines Objekts als Zahlenwert zurück (aus 100px wird 100)
// ---------------------------------------------------------------------------
// Parameter:
// - id				 		: ID des HTML-Elements
// ---------------------------------------------------------------------------
function _get_Object_width(id){
	obj = document.getElementById(id);
	return (parseInt(obj.style.width));
}


