/****************************************************************
get the screen size (works in IE6)
****************************************************************/
function getScreenSize() {
//alert('functions00');
	var x = y = 0;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}

	return [x,y];
}
//alert('functions01');
/****************************************************************
set the map marker size (works in IE6)
****************************************************************/
function setMarker(largeX, largeY, smallX, smallY) {
//alert('functions02');
	// get screen size
	var screensize = getScreenSize();

	// calculate the size of the map marker
	var mapMarkerX = parseInt(smallX) * screensize[0] / parseInt(largeX);
	var mapMarkerY = parseInt(smallY) * screensize[1] / parseInt(largeY);

	// set map marker
	document.getElementById('map_marker').style.width = Math.round(mapMarkerX) - 2 + 'px';
	document.getElementById('map_marker').style.height = Math.round(mapMarkerY) - 2 + 'px';
}

/****************************************************************
move the map marker to x,y position (works in IE6)
****************************************************************/
function positionMarker(x, y) {	
//alert('functions03');
	var x = parseInt(x);
	var y = parseInt(y);
	
	// set map marker
	document.getElementById('map_marker').style.left = x + 'px';
	document.getElementById('map_marker').style.top = y + 'px';
	
	// get marker scaling			
	var newMarginLeft = parseInt(Element.getStyle('map_large', 'width')) / parseInt(Element.getStyle('map_small', 'width'));
	var newMarginTop = parseInt(Element.getStyle('map_large', 'height')) / parseInt(Element.getStyle('map_small', 'height'));
	
	// set large map
	newMarginLeft = '-' + Math.round(x * newMarginLeft) + 'px';
	newMarginTop = '-' + Math.round(y * newMarginTop) + 'px';	
	Element.setStyle('map_large', {marginLeft: newMarginLeft});
	Element.setStyle('map_large', {marginTop: newMarginTop});
	
	// display marker
	new Effect.Appear('map_marker');
}

/****************************************************************
load image into map + overview image (works in IE6)
****************************************************************/
function loadImage(largeFile, smallFile, offsetX, offsetY, content, contentTargetID, reload) {
//alert('functions04');
	if(reload != 'reload') {
//alert('functions04_01');
		document.getElementById('imageLoader').innerHTML = '<img src="content/' + largeFile + '" /><img src="content/' + smallFile + '" />';
	}
	var n = 0;
	var l = document.getElementById('imageLoader').getElementsByTagName('img');
	var imgArray = [];
	// build imgArray
	for (var i=0; i<l.length; i+=1) {
		imgArray[i] = new Image();
		imgArray[i].src = l[i].src;
	}
	// check if image is loaded
	for (var ii=0; ii<imgArray.length; ii+=1) {
		if (imgArray[ii].complete === true) {
			if (imgArray[ii].height >= 120) {
				var largeX = imgArray[ii].width + 'px';
				Element.setStyle('map_large', {width: largeX} );
				var largeY = imgArray[ii].height + 'px';
				Element.setStyle('map_large', {height: largeY} );
				n+=1;
			} else {
				var smallX = imgArray[ii].width + 'px';
				Element.setStyle('map_small', {width: smallX} );
				var smallY = imgArray[ii].height + 'px';
				Element.setStyle('map_small', {height: smallY} );
				n+=1;
			}
		}
	}
	if (n < l.length) {
		setTimeout("loadImage('"+largeFile+"','"+smallFile+"','"+offsetX+"','"+offsetY+"','"+content+"','"+contentTargetID+"','reload')",250);
	} else {
		if(content != '') {
			loadXMLDoc(content, contentTargetID);
		} else {
			document.getElementById('map_large').innerHTML = '';
		}
		document.getElementById('map_large').style.backgroundImage = 'url(content/' + largeFile + ')';
		document.getElementById('map_small').style.backgroundImage = 'url(content/' + smallFile + ')';
		setMarker(largeX, largeY, smallX, smallY);
		positionMarker(offsetX, offsetY);
		new Effect.Appear('map_large', { duration: 1.5 });
	}
}

/****************************************************************
slide sideward (works in IE6)
****************************************************************/
function slideSideward(elementId, direction, value, stopMarker) {
//alert('functions05');
	var oldPosition, newPosition;
	
	if(stopMarker == 'empty'){
		//alert('functions05_01');
		// create stopMarker
		stopMarker = Element.getStyle(elementId, 'margin-left');
		stopMarker = stopMarker.replace(/[-]/g , '');
		if (direction == 'left') {
			stopMarker = parseInt(stopMarker) + value;
		}
		if (direction == 'right') {
			stopMarker = parseInt(stopMarker) - value;
		}
		//alert('functions05_02');
	}
	
	// animation with timeout
	(this.i == undefined) ? this.i = 0 : (this.i < value+1) ? this.i++ : clearTimeout(timer);
	
	// get old position
	oldPosition = Element.getStyle(elementId, 'margin-left');
	document.getElementById(elementId).style.marginLeft = oldPosition;
	oldPosition = oldPosition.replace(/[-]/g , '');
	
	// render the new position
	if (direction == 'left') {
		newPosition = parseInt(oldPosition) + this.i;
		if(newPosition <= stopMarker) {
			document.getElementById(elementId).style.marginLeft = '-' + newPosition + 'px';
			var timer = setTimeout("slideSideward('"+elementId+"','"+direction+"','"+value+"','"+stopMarker+"')", 40);
		} else {
			document.getElementById(elementId).style.marginLeft = '-' + stopMarker + 'px';
		}
	}
	if (direction == 'right') {
		newPosition = parseInt(oldPosition) - this.i;
		if(stopMarker <= newPosition) {
//alert('functions05_03:stopMarker='+stopMarker+' newPosition='+newPosition);
//alert('elementId ='+elementId);
//if(elementId != "overview"){
//	overnewPosition = newPosition + 25;
//	document.getElementById("overview").style.marginLeft = '-' + overnewPosition + 'px';
//}
			document.getElementById(elementId).style.marginLeft = '-' + newPosition + 'px';

			
//alert('functions05_03_01:stopMarker='+document.getElementById(elementId).style.marginLeft);
			var timer = setTimeout("slideSideward('"+elementId+"','"+direction+"','"+value+"','"+stopMarker+"')", 40);
		} else {
//alert('functions05_04:stopMarker='+stopMarker+' newPosition='+newPosition);
			document.getElementById(elementId).style.marginLeft = '-' + stopMarker + 'px';
		}
	}
//alert('functions05_05 '+elementId);
	// set new position in the stylesheet
	Element.setStyle(elementId, {marginLeft: document.getElementById(elementId).style.marginLeft} );
}

/****************************************************************
change image (works in IE6)
****************************************************************/
function changeImage(largeFile, smallFile, offsetX, offsetY, content, contentTargetID, c) {
//alert('functions06');
	if(c == 'go') {
		if(Element.getStyle('overview', 'margin-left') != '-30px') {
			var overviewOldSlide = parseInt(Element.getStyle('map_small', 'width')) + 60;
			slideSideward('overview', 'right', overviewOldSlide, 'empty');
		}
		document.getElementById('map_large').style.display = 'none';
		setTimeout("loadImage('"+largeFile+"','"+smallFile+"','"+offsetX+"','"+offsetY+"','"+content+"','"+contentTargetID+"')",1000);
	}
	if(document.getElementById('map_large').style.display == 'none') {
		setTimeout("changeImage('"+largeFile+"','"+smallFile+"','"+offsetX+"','"+offsetY+"','"+content+"','"+contentTargetID+"','wait')",2000);
	} else {
		if(Element.getStyle('overview', 'margin-left') != '-30px') {
			setTimeout("changeImage('"+largeFile+"','"+smallFile+"','"+offsetX+"','"+offsetY+"','"+content+"','"+contentTargetID+"','wait')",1000);
		} else {
			if(Element.getStyle('overview', 'margin-left') == '-30px') {
				var overviewNewSlide = parseInt(Element.getStyle('map_small', 'width')) + 60;
				slideSideward('overview', 'left', overviewNewSlide, 'empty');
			}
		}
	}
}

/****************************************************************
initilize the map (works in IE6)
****************************************************************/
function start(c) {
//alert('functions07');
	if(c == 'go') {
//alert('functions07_1');
		// disapled to get the "back" browser button working in IE
//		loadImage('map_large.jpg','map_small.jpg','62','8','map_content.xml','map_large','first');
		if (frames['hFrame']) {
//			alert('functions07_2');
//			historyManager('start', 'Home');
//historyFunc('start');
		} else {
//			setTimeout("start('go')",500);
			//alert('functions07_3');
		}
	}
//	if(document.getElementById('map_large').style.display == 'none') {
//		alert('functions07_4');
//		setTimeout("start('wait')",2000);

//	} else {
//		alert('functions07_5');
//		var overviewSlide = parseInt(Element.getStyle('map_small', 'width')) + 60;
//		slideSideward('menu', 'right', 300, 'empty');
//		slideSideward('overview', 'left', overviewSlide, 'empty');
//	}

historyFunc('start');
}

/****************************************************************
slide logo (works in IE6)
****************************************************************/
function slideLogo() {
//alert('functions08');
	if(Element.getStyle('menu', 'margin-left') == '-300px') {
		var screensize = getScreenSize();
		if (screensize[0] <= 950) {
			var overviewSlide = parseInt(Element.getStyle('map_small', 'width')) + 60;
			if(Element.getStyle('overview', 'margin-left') != '-30px') {
				slideSideward('overview', 'right', overviewSlide, 'empty');
			}
		}
		slideSideward('menu', 'right', '300', 'empty');
	} else {
		slideSideward('menu', 'left', '300', 'empty');
	}
}

/****************************************************************
slide menu (works in IE6)
****************************************************************/
function setMenuBack() {
//alert('functions09');
	if(Element.getStyle('menu_slider', 'margin-left') == '-299px') {
		Element.setStyle('menu_container', {width: '28px'} );
	} else {
		var timer = setTimeout("setMenuBack()", 100);
	}
}

function slideMenu() {
	
/**
	if(Element.getStyle('menu_slider', 'margin-left') == '-299px') {
		var screensize = getScreenSize();
		if (screensize[0] <= 950) {
			if(Element.getStyle('menu', 'margin-left') != '-300px') {
				slideSideward('menu', 'left', '300', 'empty');
			}
		}
		Element.setStyle('menu_container', {width: '328px'} );
		slideSideward('menu_slider', 'right', '299', 'empty');
	} else {
		slideSideward('menu_slider', 'left', '299', 'empty');
		setMenuBack();
	}
**/
	if(Element.getStyle('menu_slider', 'margin-left') == '-252px') {
		var screensize = getScreenSize();
		if (screensize[0] <= 950) {
			if(Element.getStyle('menu', 'margin-left') != '-300px') {
				slideSideward('menu', 'left', '300', 'empty');
			}
		}
		Element.setStyle('menu_container', {width: '283px'} );
		slideSideward('menu_slider', 'right', '252', 'empty');
	} else {
		slideSideward('menu_slider', 'left', '252', 'empty');
		setMenuBack();
	}
}

/****************************************************************
slide overview (works in IE6)
****************************************************************/
function slideOverview() {
//alert('functions11');
	var overviewSlide = parseInt(Element.getStyle('map_small', 'width')) + 60;
	if(Element.getStyle('overview', 'margin-left') != '-30px') {
		slideSideward('overview', 'right', overviewSlide, 'empty');
	} else {
		var screensize = getScreenSize();
		if (screensize[0] <= 950) {
			if(Element.getStyle('menu', 'margin-left') != '-300px') {
				slideSideward('menu', 'left', '300', 'empty');
			}
		}
		slideSideward('overview', 'left', overviewSlide, 'empty');
	}
}

/****************************************************************
slide ship details (works in IE6)
****************************************************************/
function slideShipDetails() {
//alert('functions12');
	if(Element.getStyle('ship_content', 'margin-left') == '-440px') {
		document.getElementById('content_company_bg').style.display = "none";
		document.getElementById('content_references_bg').style.display = "none";
		document.getElementById('content_employees_bg').style.display = "none";
		document.getElementById('content_imprint_bg').style.display = "none";
		document.getElementById('content_customer_bg').style.display = "none";
		slideSideward('ship_content', 'right', '440', 'empty');
	} else {
		slideSideward('ship_content', 'left', '440', 'empty');
	}
}

/****************************************************************
slide Newsmenu
****************************************************************/
function slideNewsmenu() {
	
//	if(Element.getStyle('newsmenu', 'margin-left') == '-300px') {
/*		document.getElementById('content_company_bg').style.display = "none";
		document.getElementById('content_references_bg').style.display = "none";
		document.getElementById('content_employees_bg').style.display = "none";
		document.getElementById('content_imprint_bg').style.display = "none";
*/
/*		slideSideward('newsmenu', 'right', '300', 'empty');
	} else {
		slideSideward('newsmenu', 'left', '300', 'empty');
	}
*/
	if(Element.getStyle('newsmenu', 'margin-left') == '-251px') {
		slideSideward('newsmenu', 'right', '251', 'empty');
	} else {
		slideSideward('newsmenu', 'left', '251', 'empty');
	}

}

/****************************************************************
display tooltip (works in IE6)
****************************************************************/
function showTooltip(element) {
//alert('functions13');
	var tooltip = element.parentNode.nextSibling;
	var screensize = getScreenSize();
	var screenWidth = screensize [0];
	var screenHeight = screensize [1];
	var mapWidth  = parseInt(Element.getStyle('map_large', 'width'));
	var mapHeight = parseInt(Element.getStyle('map_large', 'height'));
	var mapMarginLeft = parseInt(Element.getStyle('map_large', 'marginLeft'));
	var mapMarginTop = parseInt(Element.getStyle('map_large', 'marginTop'));
	var elementWidth = element.offsetWidth;
	var tooltipWidth = tooltip.offsetWidth;
	var tooltipHeight = tooltip.offsetHeight;
	var newX = element.offsetLeft + 10;
	var newY = element.offsetTop + 25;
	
	var overviewSlider = Element.getStyle('overview', 'margin-left'); // -22
	var menuSlider = Element.getStyle('menu_slider', 'margin-left') // -299
	var logoSlider = Element.getStyle('menu', 'margin-left') // -300
	
	var border_1 = 25;
	var border_2 = screenWidth - 25;
	
	// calculate borders
	if (menuSlider != '-299px') {
		border_1 += 299;
	}
	if (logoSlider != '-300px') {
		border_1 += 300;
	}
	if (overviewSlider != '-30px') {
		border_2 -= 60;
		border_2 -= parseInt(Element.getStyle('map_small', 'width'));
	}
	
	// place tooltip horizontal
	if ((newX + tooltipWidth) > (screenWidth + (mapMarginLeft * -1))) {
		newX = newX-tooltipWidth;
		var flip = 'done';
	}
	
	// place tooltip vertical
	if ((border_1 < (newX - (mapMarginLeft * -1))) && (((newX - (mapMarginLeft * -1)) + tooltipWidth) < border_2)) {
		// tooltip can be placed
		if ((newY + tooltipHeight) > (screenHeight + (mapMarginTop * -1))) {
			newY = newY-tooltipHeight-30;
			if (newY < (mapMarginTop * -1)) {
				newY = 10 + (mapMarginTop * -1);
				if (flip != 'done') {
					newX = newX-tooltipWidth;
					if (newX < (mapMarginLeft * -1)) {
						newX = element.offsetLeft + elementWidth + 10;
					}
				}
			}
		}
	} else {
		// avoid navigation space - 185px
		if ((newY + tooltipHeight) > (screenHeight - 185 + (mapMarginTop * -1))) {
			newY = newY-tooltipHeight-30;
			if ((newY + tooltipHeight) > (screenHeight - 185 + (mapMarginTop * -1))) {
				newY -= 185 - (screenHeight - (element.offsetTop - (mapMarginTop * -1)));
			}
			if (newY < (mapMarginTop * -1)) {
				newY = 10 + (mapMarginTop * -1);
				if (flip != 'done') {
					newX = newX-tooltipWidth;
					if (newX < (mapMarginLeft * -1)) {
						newX = element.offsetLeft + elementWidth + 10;
					}
				}
			}
		}
	}

	// place the tooltip
	tooltip.style.top = newY + 'px';
	tooltip.style.left = newX + 'px';
}

/****************************************************************
hide tooltip (works in IE6)
****************************************************************/
function hideTooltip(element) {
//alert('functions14');
	var tooltip = element.parentNode.nextSibling;
	tooltip.style.left = '-9999px';
}

/****************************************************************
menue functions (works in IE6)
****************************************************************/
function hoverMenu(id) {
//alert('functions15');
	if(id == "menu_main_03") {
		document.getElementById('menu_main_03').className = 'menu_on';
		document.getElementById('menu_ships').style.display = 'block';
	} else {
		if(!document.getElementById('menu_main_03_on')) {
			document.getElementById('menu_main_03').className = 'item';
			document.getElementById('menu_ships').style.display = 'none';
		}
	}
}

function switchMenu(id) {

	// 6 is number of menu items
	for(var i=1;i<=6;i+=1) {
		if(document.getElementById('menu_main_0'+i+'_on')) {
			var menuClass = document.getElementById('menu_main_0'+i+'_on').className;
			if (menuClass == 'space_on') {
				document.getElementById('menu_main_0'+i+'_on').className = 'space';
			}
			if (menuClass == 'item_on') {
				document.getElementById('menu_main_0'+i+'_on').className = 'item';
			}
			if (menuClass == 'menu_on') {
				document.getElementById('menu_main_0'+i+'_on').className = 'item';
			}
			document.getElementById('menu_main_0'+i+'_on').id = 'menu_main_0'+i;
			if(id != 'menu_main_03') {
				document.getElementById('menu_ships').style.display = 'none';
			}
		}
		if(id == 'menu_main_0'+i) {
			var menuClass = document.getElementById(id).className;
			if (menuClass == 'space') {
				document.getElementById(id).className = 'space_on';
			}
			if (menuClass == 'item') {
				document.getElementById(id).className = 'item_on';
				if(id == 'menu_main_03') {
					document.getElementById(id).className = 'menu_on';
					document.getElementById('menu_ships').style.display = 'block';
				}
			}
			document.getElementById('menu_main_0'+i).id = 'menu_main_0'+i+'_on';
			if(id == 'menu_main_01') {
				for(var ii=1;ii<=2;ii+=1) {
					document.getElementById('menu_ship_0'+ii).className = 'item';
				}
			}
		}
	}
	
	for(var iii=1;iii<=2;iii+=1) {
		// 4 is number of ships in menu
		if(id == 'menu_ship_0'+iii) {
			document.getElementById('menu_ship_0'+iii).className = 'item_on';
			document.getElementById('menu_main_03').className = 'menu_on';
			document.getElementById('menu_main_03').id = 'menu_main_03_on';
			document.getElementById('menu_ships').style.display = 'block';
		} else {
			if(id.substr(0, 9) == 'menu_ship') {
				document.getElementById('menu_ship_0'+iii).className = 'item';
			}
		}
	}
	
}

function usedclear() {

	if(document.getElementById('menu_main_03_on')){
		document.getElementById('menu_main_03_on').className = 'item';
		document.getElementById('menu_main_03_on').id = 'menu_main_03';
		document.getElementById('menu_ships').style.display = 'none';
	}
			
}

/****************************************************************
open and close the content windows (works in IE6)
****************************************************************/
function openContent(target) {
//alert('functions17');
	// move ship detail if visible
	if(Element.getStyle('ship_content', 'margin-left') != '-440px') {
		slideSideward('ship_content', 'left', '440', 'empty');
	}
	
	// check screensize and hide elements on small screens
	var screensize = getScreenSize();
	if (target == 'content_references_bg') {
		var minimalSize = 750;
	} else {
		var minimalSize = 650;
	}
	if (screensize[1] <= minimalSize) {
		if(Element.getStyle('menu', 'margin-left') != '-300px') {
			slideSideward('menu', 'left', '300', 'empty');
		}
		/*
		if(Element.getStyle('menu_slider', 'margin-left') != '-299px') {
			slideSideward('menu_slider', 'left', '299', 'empty');
		}
		*/
		/*
		if(Element.getStyle('menu_slider', 'margin-left') != '-252px') {
			slideSideward('menu_slider', 'left', '252', 'empty');
		}
		*/
		var overviewSlide = parseInt(Element.getStyle('map_small', 'width')) + 60;
		if(Element.getStyle('overview', 'margin-left') != '-30px') {
			slideSideward('overview', 'right', overviewSlide, 'empty');
		}
	}
	
	// hide other content
	document.getElementById('content_company_bg').style.display = "none";
	document.getElementById('content_references_bg').style.display = "none";
	document.getElementById('content_employees_bg').style.display = "none";
	document.getElementById('content_imprint_bg').style.display = "none";
	document.getElementById('content_customer_bg').style.display = "none";
	
	//display content
	new Effect.Appear(target);
}

function closeContent(target) {
//alert('functions18');
	if (target == 'all') {
		document.getElementById('content_company_bg').style.display = "none";
		document.getElementById('content_references_bg').style.display = "none";
		document.getElementById('content_employees_bg').style.display = "none";
		document.getElementById('content_imprint_bg').style.display = "none";
		document.getElementById('content_customer_bg').style.display = "none";
	} else {
		new Effect.Fade(target);
	}
}

/****************************************************************
calculate position longitude and latitude in pixel - NOT USED
****************************************************************/
function calculatePosition(latitude, longitude) {
//alert('functions19');
	// set latitude and longitude
	var pointLat  = parseInt(latitude); // between -90.00 and 90.00
	var pointLong = parseInt(longitude); // between -180.00 and 180.00;

	// get map height and width
	var mapHeight = parseInt(Element.getStyle('map_large', 'height'));
	var mapWidth  = parseInt(Element.getStyle('map_large', 'width'));

	// convert to pixels
	pointLat = ((pointLat * -1) + 90) * (mapHeight / 180);
	pointLong = (pointLong + 180) * (mapWidth / 360);
	
	// round results
	pointLat = Math.round(pointLat);
	pointLong = Math.round(pointLong);
	
	return [pointLat,pointLong];
}

/****************************************************************
move large map arround - NOT USED
****************************************************************/
function moveMap() {
//alert('functions20');
	var dragElement = document.getElementById('map_large');
	var overviewElement = document.getElementById('map_marker');
	var drag_map = false;
	var oldMarginLeft = 0;
	var oldMarginTop = 0;
	var oldOverviewLeft = 0;
	var oldOverviewTop = 0;
	var posX = 0;
	var posY = 0;
	var multiLeft = 0;
	var multiTop = 0;
	
	dragElement.style.cursor = 'move';
	
	dragElement.onmousedown=function( e ) {
		drag_map = true;

		if (!e) var e = window.event;
		if (e.pageX || e.pageY) {
			mx = e.pageX;
			my = e.pageY;
		}
		else if (e.clientX || e.clientY) {
			mx = e.clientX;
			my = e.clientY;
		}
		
		posX = mx;
        posY = my;

		oldMarginLeft = parseInt(dragElement.style.marginLeft);
		oldMarginTop = parseInt(dragElement.style.marginTop);
		
		oldOverviewLeft = parseInt(overviewElement.style.left);
		oldOverviewTop = parseInt(overviewElement.style.top);
		
		multiLeft = parseInt(Element.getStyle('map_large', 'width')) / parseInt(Element.getStyle('map_small', 'width'));
		multiTop = parseInt(Element.getStyle('map_large', 'height')) / parseInt(Element.getStyle('map_small', 'height'));
	}
	
	dragElement.onmouseup=function( e ) {
		drag_map = false;
	}
	
	dragElement.onmousemove=function( e ) {
		if(drag_map === true) {
			
			if (!e) var e = window.event;
			if (e.pageX || e.pageY) {
				mx = e.pageX;
				my = e.pageY;
			} else if (e.clientX || e.clientY) {
				mx = e.clientX;
				my = e.clientY;
			}
		
			var x = mx - posX;
			var y = my - posY;
			
			var newMarginLeft = oldMarginLeft + x;
			var newMarginTop = oldMarginTop + y;
			
			var newOverviewLeft = oldOverviewLeft - Math.round(x/multiLeft);
			var newOverviewTop = oldOverviewTop - Math.round(y/multiTop);
			
			var screensize = getScreenSize();
			var minMarginLeft = -1 * (parseInt(Element.getStyle('map_large', 'width')) - screensize[0]);
			var minMarginTop = -1 * (parseInt(Element.getStyle('map_large', 'height')) - screensize[1]);
		
			if((newMarginLeft <= 0) && (newMarginTop <= 0) && (newMarginLeft >= minMarginLeft) && (newMarginTop >= minMarginTop)) { 
				dragElement.style.marginLeft=newMarginLeft + "px";
            	dragElement.style.marginTop=newMarginTop + "px";

				overviewElement.style.left=newOverviewLeft + "px";
            	overviewElement.style.top=newOverviewTop + "px";
			}
		}
	}
	
}

/****************************************************************
browser back button support (works in IE6)
****************************************************************/
function historyManager(f,t){
//alert('functions21');
	frames['hFrame'].location.href="historyManFrame.php?f="+f+"&t="+t;
}

function historyFunc(f){
//alert('functions22');
	//f = f+"()";
	//eval(f);
	if (f == 'start') {
		switchMenu('menu_main_01');
		closeContent('all');
		loadImage('map_large.jpg','map_small.jpg','62','8','map_content.xml','map_large','first');
		if(historyFirstRun == '0') {
			Element.setStyle('overview', {marginLeft: '-30px'} );
			var overviewSlide = parseInt(Element.getStyle('map_small', 'width')) + 60;
			slideSideward('overview', 'left', overviewSlide, 'empty');
			
			if(Element.getStyle('menu', 'margin-left') == '-300px') {
				slideLogo();
			}
			
			if((Element.getStyle('menu_slider', 'margin-left') == '-0px') || (Element.getStyle('menu_slider', 'margin-left') == '0px')) {
				slideMenu();
			}
		}
	}
	if (f == 'worldmap') {
		switchMenu('menu_main_01');
		closeContent('all'); 
		changeImage('map_large.jpg', 'map_small.jpg', '62', '8', 'map_content.xml', 'map_large', 'go');
	}
	if (f == 'ship_01') {
		switchMenu('menu_ship_01');
		closeContent('all'); 
		changeImage('ship_N_642_64.jpg', 'ship_N_642_64_small.jpg', '0', '0', 'ship_mira.xml', 'ship_content', 'go');
	}
	if (f == 'ship_02') {
		switchMenu('menu_ship_02');
		closeContent('all'); 
		changeImage('ship_SC4308_1.jpg', 'ship_SC4308_1_small.jpg', '0', '0', 'ship_mizar.xml', 'ship_content', 'go');
	}
	if (f == 'bonus') {
		closeContent('all'); 
		changeImage('map_historic_large.jpg', 'map_historic_small.jpg', '0', '0', '', 'map_large', 'go');
		if(Element.getStyle('menu_slider', 'margin-left') == '-299px') {
			slideMenu();
		}
		
	}
	historyFirstRun = "0";


// 初期表示処理 START

	// URLにパラメータが有の場合（送信完了）
	var ls = location.search;
	var param = ls.substr("?".length);
	
	if(param != "" && param != null && param == "contact"){
		openContent('content_references_bg');
		document.getElementById("inquiry").style.display = "none";
		document.getElementById("idKanryo").style.display = "block";
	}
		
	// NEWS
	slideSideward('newsmenu', 'right', '251', 'empty');
	// CONTROLLER
	Element.setStyle('menu_container', {width: '283px'} );
	slideSideward('menu_slider', 'right', '252', 'empty');

// 初期表示処理 END
}