var ns = document.layers ? true : false;
var ie = document.all && !window.opera ? true : false;;    // IEs
var dom = document.getElementById && !ie ? true : false;  // DOM-Browser

var subheight=100;
if(typeof changeSize != "function") {
	function changeSize() {  
		if($('layout_footer') && $('layout_header')) subheight=26+$('layout_footer').getHeight()+$('layout_header').getHeight();
		if($('navigation_top')) subheight+=$('navigation_top').getHeight();
		
		var finheight=document.viewport.getHeight()-subheight;
		leftheight=0;
		if($('navigation_links')) leftheight+=$('navigation_links').getHeight();
		if($('navigation_block')) leftheight+=$('navigation_block').getHeight();
		if($('teaser_links')) leftheight+=$('teaser_links').getHeight();
		
		if($('mainBody')) {
			if(finheight<leftheight){
				finheight=leftheight;
				$('mainBody').setStyle({overflow:'auto'});
			}else $('mainBody').setStyle({overflow:'hidden'});
		}
		if($('main_frame')) $('main_frame').setStyle({height: finheight +'px'});
		if($('content_left_table')) $('content_left_table').setStyle({height: finheight+'px'});
		if($('maincontent')) $('maincontent').setStyle({height: finheight+'px'});
		if(ie){
			finheight-=2;
			if($('maincontent')) $('maincontent').setStyle({height: finheight+'px'});
		
			if($('content_left')) $('content_left').setStyle({height: finheight+'px'});
			if($('content_middle')) $('content_middle').setStyle({height: finheight+'px'});
			if($('content_right')) $('content_right').setStyle({height: finheight+'px'});
		}
		if($('page_iframe')) {
			$('page_iframe').setStyle({height: finheight-40+'px'});
		}
		
		if($('scalebg')){
			$('scalebg').setStyle({'height':$('center_div').getHeight()+'px','width':$('center_div').getWidth()+'px'});	
		}
		
		sizeToSession(document.viewport.getWidth(), document.viewport.getHeight());
		
		if(activeboxes > 0) {		
			if($('gb_'+activeid)) centerElementAndOverlay('gb_'+activeid);
		}
	}
}

if(typeof onload_observe == 'undefined') var onload_observe=false;
if(typeof onresize_observe == 'undefined') var onresize_observe=false;
if(onload_observe != true) {
	Event.observe(window, 'load', function() {
		changeSize();
	});
}

if(onresize_observe != true) {
	Event.observe(window, 'resize', function() {
		changeSize();
	});
}

function sizeToSession(width, height) {
	new Ajax.Request('ajax/sizeToSession.php?w='+width+'&h='+height, {
		method: 'get',
		asynchronous: true,
		evalScript: true	
	});	
}

function displayImg(img,id) {
	
	var gbid = showGrayBox();
	displayLoading();	
	
	new Ajax.Request('ajax/displayImage.php?img='+img+'&gbid='+gbid+'&id='+id,
	{
		method: 'get',
		asynchronous: true,
		evalScript: true,
		onComplete: function(t) {
			$('gb_temp').update(t.responseText);	
			smoothCenter(gbid);
		},
		// Handle other errors
		onFailure: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
		}		
	}
	);
}


function changeImg(img,id,gbid) {
	displayLoading();
	new Ajax.Request('ajax/displayImage.php?img='+img+'&gbid='+gbid+'&id='+id,
	{
		method: 'get',
		asynchronous: true,
		evalScript: true,
		onComplete: function(t) {		
			$('gb_text_'+gbid).innerHTML = "";
		   	$('gb_temp').update(t.responseText);
			smoothCenter(gbid);
		},
		// Handle other errors
		onFailure: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
		}		
	}
	);
}

function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight =  yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}
function loading(){
//if(typeof displayLoading == "function") displayLoading();	
}
function unloading(){
//if(typeof hideLoading == "function") hideLoading();	
}
function request(method,url,ziel,postform,loadingani,newserialize){
	if($(loadingani)) $(loadingani).show();
	else loading(); //$(ziel).update("<img src='images/loading_sitemap.gif' />");
	//alert(loadingani);
	if(method=='post' || method=='POST'){
		//alert(postform);
		if(newserialize) var pbody=$(postform).serialize(true);
		var pbody=$(postform).serialize();
	}else var pbody="";
	new Ajax.Request(url, {
		method: method,
		postBody: pbody,
		onSuccess: function(t) {
			$(ziel).update(t.responseText);
			if($(loadingani)) $(loadingani).hide();
			else unloading();
		},
		onFailure: function(t) {
			$(ziel).update('Error ' + t.status + ' -- ' + t.statusText);
			if($(loadingani)) $(loadingani).hide();
			else unloading();
		},
		evalScript: true,
		asynchronous: true
		}
	);
}

function doAjax(method,url,ziel,postform,loadingani,newserialize) {	
	request(method,url,ziel,postform,loadingani,newserialize);
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function produkte(kat){
	location.href="/bs_shop_"+kat;
}

function displayGoogleMap(address, title) {	
	var gbid = showGrayBox();
	displayLoading();	
	
	new Ajax.Request('ajax/displayGoogleMap.php', {
		method: 'get',
		asynchronous: true,
		evalScript: true,
		onComplete: function(t) {
			$('gb_temp').update(t.responseText);	
			simpleCenter(gbid);			
			
			var map = new GMap2(document.getElementById("map_canvas"));
			var geocoder = new GClientGeocoder();
			
			var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
       		
			map.addControl(new GMapTypeControl(), topRight);
			map.addControl(new GSmallMapControl());
			
			var myIcon = new GIcon();
			myIcon.image = 'images/designs/roehrkoenig/markers/image.png';
			myIcon.shadow = 'images/designs/roehrkoenig/markers/shadow.png';
			myIcon.iconSize = new GSize(38,28);
			myIcon.shadowSize = new GSize(52,28);
			myIcon.iconAnchor = new GPoint(19,28);
			myIcon.infoWindowAnchor = new GPoint(19,0);
			myIcon.printImage = 'images/designs/roehrkoenig/markers/printImage.gif';
			myIcon.mozPrintImage = 'images/designs/roehrkoenig/markers/mozPrintImage.gif';
			myIcon.printShadow = 'images/designs/roehrkoenig/markers/printShadow.gif';
			myIcon.transparent = 'images/designs/roehrkoenig/markers/transparent.png';
			myIcon.imageMap = [21,0,23,1,37,2,37,3,37,4,37,5,37,6,37,7,37,8,36,9,36,10,36,11,35,12,35,13,34,14,34,15,34,16,33,17,33,18,33,19,32,20,32,21,32,22,32,23,32,24,31,25,32,26,28,27,5,27,5,26,5,25,5,24,5,23,5,22,4,21,4,20,4,19,3,18,3,17,3,16,3,15,2,14,2,13,2,12,1,11,1,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,13,2,15,1,16,0];
			
			
			geocoder.getLatLng(
				address,
				function(point) {
					if (!point) {
						alert(address + " wurde nicht gefunden!");
					} else {
						map.setCenter(point, 13);
						map.setZoom(16);
						var marker = new GMarker(point, myIcon)
						map.addOverlay(marker);
						marker.openInfoWindowHtml(title);
					}
				}
			);
		},
		// Handle other errors
		onFailure: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
		}		
	});
}

function displayGoogleMapIframe(address, title) {
	w = screen.width;
	h = screen.height;
	
	ot = Math.round((h-500)/2);
	ol = Math.round((w-600)/2);
	window.open("ajax/displayGoogleMapIframe.php?address="+address+"&title="+title, "", "width=600, height=500, scrollbars=no, left="+ol+", top="+ot);
}

