$$('.subarea').each(function(el) {el.style.display='none'});

function showMap(elem,lati,longi) {
		var map = new GMap($(elem));
	//	map.addControl(new ç);
		map.setMapType(G_HYBRID_MAP);
		map.addControl(new GOverviewMapControl());
		map.centerAndZoom(new GPoint(lati,longi),9);
}


var TJPzoomwidth=180;              //zoom window size
var TJPzoomheight=140; 
var TJPzoomwindowlock=0;           //set to 1 to lock window size
var TJPzoomoffsetx=.5;
var TJPzoomoffsety=.5;
var TJPzoomamount=4;
var TJPzoomamountmax = 12;
var TJPzoomamountmin = 1;
var TJPborderthick   = 0;              //border thickness, SET 0 to no borders
var TJPbordercolor='#058';      //border color
var TJPshadowthick=10;              
var TJPshadow='http://webmasterei.com/muli/jscripts/tjpzoom/dropshadow/';  
var TJPstarted = false;

var map;

var rules = {
		 '.mulimg' : function(el) {
			var id = Math.round(10000* Math.random(0,100));
			if (!el.id) el.id = 'mulimg_' + id;
			el.style.cursor='pointer';
			el.title='mausgesteuerte Bilderstrecke';
			var params = el.getAttribute('rel').split('|');
			el.setAttribute('rel', null);
			var path   = params[0];
			var imgs   = params[1].split(' ');
			var total  = imgs.length;
			var  w     = Element.getDimensions(el).width;
			el.onmousemove = function(e) {
				 var ndx = Math.ceil((Event.pointerX(e) - Position.cumulativeOffset(el)[0])/w*total)-1;
				 el.style.cursor='pointer';
				 var url = path + imgs[ndx];
				 if (imgs[ndx]) el.src = url;
			}
		},
	    '.wminput' : function(el) {
	    	Element.setOpacity(el,0.6);
		},
		'#imphead' : function(el) {
			el.style.cursor='pointer';
			el.onclick = function() {
				Effect.BlindDown($('impressum'));
				new Draggable($('impressum'));
			}
		},
		'#impressum' : function(el) {
			Element.hide(el);
			el.onclick = function() {
				Effect.Fade(el);
			}
		},
	    '.wminput_waiting' : function(el) {
	    	Element.setOpacity(el,0.6);
		},

	  '.opac' : function(el) {
	    	Element.setOpacity(el,0.6);
		},
	    '.klar' : function(el) {
	    	Element.setOpacity(el,1);
		},


	    '.bigbildrechts' : function(el) {
	    	Element.setOpacity(el,0.96);
		},

	    '#ralf' : function(el) {
	    	Element.setOpacity(el,0.1);
	    	el.innerHTML= 'Aufmacher-Photos: Ralf Blinkmann August 2007<br >Klick startet Diashow ;-))';
	    },	
		'img.zoom' : function(el) {
			el.onmouseover = function() {
				var big = el.getAttribute('rel');
				TJPzoom(el,big);
		   }
		},
		'.scal' : function(el) {
			el.style.cursor='pointer';
			el.onmousemove = function() {
				new Effect.Scale(el,104);
			},
			el.onclick = function() {
				new Effect.Scale(el,115);
			},
			el.ondblclick = function() {
				new Effect.Scale(el,90);
			}

		},
		'.subarea' : function(el) {
			el.style.display='none';
		},
		'.daumennagel' : function(el) {
			var naegel = document.getElementsByClassName('daumennagel');
			$('bstart').setOpacity('1.0');
			el.style.width='45';
			el.setOpacity('0.5');
			el.onmouseover = function() {
				for(var i=0;i<naegel.length;i++) Element.removeClassName(naegel[i],'hover');
				Element.addClassName(el,'hover');
			}				
			
			el.onclick = function() {
				for(var i=0;i<naegel.length;i++) {
					naegel[i].setOpacity('0.65');
				}
		        el.setOpacity('1.0');
				var bar = $('kanalbruecke'); 
				var src = '/rainer/img/kanalbruecke/' +el.getAttribute('rel') + '.jpg';
				bar.src = src;
							
			}
			
		},
		'img.physio' : function(el) {
			el.onclick	 = function() {
			  new Ajax.Updater('physio', '/rainer/physiognomik.php', {
					parameters:'ndx=' + el.getAttribute('rel'), 
					evalScripts:true, 
					asynchronous:true
				  }		
			   );	
			},
			el.onmouseover	 = function() {
				this.cursor='pointer';
			}
		},
		'#textblock' : function(el) {
			el.onmouseover = function() {
				//this.style.cursor='move';
			}
		},
		'.gmaplayer' : function(el) {
			el.onclick = function(event) {
				hideFlash();
				var id = 'gmap_' + 1000* Math.random(100);
				var gps = el.title.split(',');
				var label = el.innerHTML;
				var elem = Event.element(event);
				var xpos = Position.cumulativeOffset(elem)[0]-300;
				var ypos = Position.cumulativeOffset(elem)[1]-30;
				Event.stop(event);
				var wrapper = document.createElement("div");
				wrapper.style.width='560px';
				wrapper.style.height='220px';
				wrapper.style.zIndex='499';
				wrapper.style.position='absolute';
				wrapper.style.top  = ypos+ 'px';
				wrapper.style.left = xpos+ 'px';
				wrapper.id = id;
				document.getElementsByTagName("body").item(0).appendChild(wrapper);
				Element.setOpacity(wrapper,'0.95');
				var map = new GMap2($(id));
				var baseIcon = new GIcon();
				baseIcon.iconSize=new GSize(32,32);
				baseIcon.shadowSize=new GSize(56,32);
				baseIcon.iconAnchor=new GPoint(16,32);
				baseIcon.infoWindowAnchor=new GPoint(16,0);
				var pin = new GIcon(baseIcon, "http://familientagebuch.de/rainer/img/pin.gif", null,null);
				var marker = new GMarker(new GLatLng(gps[0],gps[1],pin));
				map.setMapType(G_HYBRID_MAP);
				map.addControl(new GSmallMapControl()); 
				map.setCenter(new GLatLng(gps[0],gps[1]),17);
				map.addOverlay(marker);	
				var butt = document.createElement("input");
				butt.type='button';
				butt.onclick=function(){Effect.Fade($(id));showFlash()};
				butt.value ='schließen';
				butt.setStyle({	position:'relative',
								right:'-50px',
								top:'10px',
								zIndex:'9999',
								backgroundColor:'white',
								fontSize:'8pt'});
				$(id).firstChild.appendChild(butt);	
			    
			};
			el.href= 'javascript:void(0);';
		},
		'.pano' : function(el) {
			el.style.cursor='pointer';
			var big = el.nextSibling;
			var busy = false;
			var bigwidth= null;
			var url = big.style.backgroundImage;
            var w = el.width;
			var h = el.height;
			
			//var rex = /url\((.*?)\)/;		
			//var elems = rex.exec(url);
			//var bigimg = new Image();
			//bigimg.src = elems[1];
			//bigwidth = bigimg.width;
		    
		    if(!bigwidth) bigwidth='3500';
			Element.hide(big);
			el.style.border= "1px silver outset";
			var dims = Element.getDimensions(big)
			if (busy==true) return null;
			el.onmouseover = function() {
				new Effect.BlindDown(big,{
					duration:0.1,
					afterUpdate:function() {
						Element.setOpacity(el,'0.8');
						busy = true;
					},
					afterFinish:function() {	
						busy = false;
						el.width = w;
						Element.setOpacity(el,'0.6');
					}});
			};
			
			el.onmouseout  = function() {
				new Effect.BlindUp(big,{
					duration:0.1,
					delay:1,
					afterUpdate:function() {
						Element.setOpacity(el,'1');
						busy = true;
						
					},
					afterFinish:function() {	
						busy = false;
						el.height = h;
						el.width = w;
						Element.setOpacity(el,'1');
					}});
			
			};
			el.onmousemove = function(event) {
				var xpos = Event.pointerX(event) - Position.cumulativeOffset(el)[0];
				var pos = dims.width - bigwidth*xpos/dims.width;
				big.style.backgroundPosition =  pos + 'px 0px';
			}
		},
		'.selfpano' : function(el) {
			var bg = el.getAttribute("rel");
			el.style.backgroundImage =  'url('+bg+')';
			el.innerHTML='';
			el.style.width  = el.getAttribute('width') + 'px';
			el.style.height = el.getAttribute('height') + 'px';
            new Panorama(el,{width:575,xpos:0});

		},
		'#aufmacher' : function(el) {
			var started = false;
			var wexler  = false;
			var schieber;
			var ypos = Position.cumulativeOffset($('textblock'))[1];
			el.onmouseover = function() {
				if (!started) el.style.cursor = 'pointer';
			},
			el.onclick = function() {
				if (wexler) return;
				new Effect.MoveBy($('textblock'),94,2,{duration:1,transition:Effect.Transitions.sinoidal});
				el.style.cursor='default';
				el.title = 'Diashow gestartet.';
				el.style.background='none';			
				new Ajax.Updater('aufmacher', '/rainer/img/chinabilder/index.php', {evalScripts:true,asynchronous:true});
				
				wexler = new PeriodicalExecuter( function() {
				 	new Ajax.Updater('aufmacher', '/rainer/img/chinabilder/index.php', {
						evalScripts:true, 
						asynchronous:true
				   }		
			   );
				
				}
				,12);
				started = true;
			}
		
		},
		'.swfplayer' : function(el) {
			el.style.cursor ='pointer';
			var w = el.getAttribute('width');
			var h = el.getAttribute('height');
			var movie = 'http://familientagebuch.de' + el.getAttribute('rel');
			var id = 'swfp_' + 	Math.floor(1000*Math.random());
			el.id = id;
			el.onclick = function() {
				UFO.create({ 
					movie: movie,
					height:h, 
					width:w,
					flashvars:'autostart=false', 
				    majorversion:"9",
				    build:"1"
			},el.id);
	//		Element.show(el);
			};
		},
		'.youtube' : function(el) {
			var width = el.getAttribute('width');
			var height = el.getAttribute('height');
			var id = 'yt_' + 	Math.floor(1000*Math.random());
			el.id = id;
			var movie = 'http://www.youtube.com/watch%3Fv%3D'+el.getAttribute('rel');
			var so2 = new SWFObject('/tools/player5.swf','mpl',width,height,'10');
			so2.addParam('wmode','opaque');
			so2.addParam('allowscriptaccess','always');
			so2.addParam('allowfullscreen','true');
			so2.addVariable('file',movie);
			so2.addVariable('image','/rainer/img/testbild.gif');
			
			so2.addVariable('controlbar','none');
  			so2.addVariable('dock','false');
			so2.write(el);
			setTimeout(function(){el.firstChild.style.visibility='visible';},1000);
		},
		'.flashslideshow' : function(el) {
			var w = el.getAttribute('width');
			var h = el.getAttribute('height');
			var movie = 'http://familientagebuch.de' +el.getAttribute('rel');
			var html = '<object width="' + w +'" height="'+h+'" type="application/x-shockwave-flash" data="http://familientagebuch.de/tools/ws-slideshow.swf">'+
			'<param name="menu"      value="false" />' +
			'<param name="bgcolor"    value="#000" />' +

			'<param name="quality"   value="best" />' +
			'<param name="flashvars" value="XMLPath='+movie+'&langID=DE" />' +
			'<param name="allowfullscreen" value="true" /></object>'; 
			el.innerHTML = html;
		},
		'.flashplayer' : function(el) {
			el.style.cursor ='pointer';
			var w = el.getAttribute('width');
			var h = el.getAttribute('height');
			var movie = 'http://familientagebuch.de' + el.getAttribute('rel');
			var id = 'swfp_' + 	Math.floor(1000*Math.random());
			el.id = id;
				UFO.create({ 
					movie: movie,
					height:h, 
					width:w,
					flashvars:'autostart=true', 
				    majorversion:"9",
				    build:"1"
			},el.id);
			Element.show(el);
			
		},

		'.sens' : function(el) {
			el.onmouseover = function() {
				$('physiog').innerHTML = this.getAttribute('title');
		
			},
			el.onmouseout = function() {
				$('physiog').innerHTML = '';
			}
		},
		'.dualimgomo' : function(el) {
			Element.setStyle(el,{cursor:'pointer'});
			var src = el.getAttribute('src');
			var rel = el.getAttribute('rel');
			if (!rel) {
					// png ist mini, jpg ist groß:
					var maske = /(.*?)\.png/;
					var elems = maske.exec(src);
					rel = elems[1] + '.' + 'jpg';
				}
			el.onmouseover = function() {
				el.setAttribute('rel',src);
				el.setAttribute('src',rel);
			},
			el.onmouseout = function() {
				el.setAttribute('rel',rel);
				el.setAttribute('src',src);
			}
		},
		'.dualimg' : function(el) {
			var src = el.getAttribute('src');
			var rel = el.getAttribute('rel');
			var myclass = el.getAttribute('class');
			if (!rel) {
					// png ist mini, jpg ist groß:
					var maske = /(.*?)\.png/;
					var elems = maske.exec(src);
					rel = elems[1] + '.' + 'jpg';
			}
			var dims = Element.getDimensions(el);
			var onclick = 
						"var options={duration:.9,queue:{limit:2,position:'end',scope:'flipimg'}};"
						+ "if (this.getAttribute('rel')=='0')"
						+ "{Effect.Fade(this.firstChild,options);Effect.Appear(this.firstChild.nextSibling,options);this.setAttribute('rel','1');}"
						+ "else"
						+ "{Effect.Appear(this.firstChild,options);Effect.Fade(this.firstChild.nextSibling,options);this.setAttribute('rel','0');}";
			el.replace('<div class="'+ myclass+'" title="Klick wechselt das Bid aus." rel="0" onclick="'+ onclick+'" style="cursor:pointer;position:relative;height:'+dims.height+'px;width:'+dims.width+'px;"><img  style="position:absolute;top:0;left:0;" src="'+src+'" /><img style="display:none;position:absolute;top:0;left:0;" src="'+rel+'" /></div>');
			el.onclick = function() {
				
			}
		 },
	 	'div.bildrechts' : function(el) {
			el.onclick = function() {
				var id = this.id;
				var big = $('big'+id);
				Effect.Grow(big, {
						direction:'center',
						duration: 1.0,
						onComplete: new Effect.Fade(big,{delay:4,duration:32})
					}
				);
			}
		 },
	     '.hoverimg' : function(el) {
	     	var bar = el.getAttribute('hoversrc');
	     	var foo = el.getAttribute('src');
	     	var drag;
	     	el.onmousemove = function() {
	     		el.setAttribute('src',bar);
	     		el.setAttribute('hoversrc',foo);
	     		drag = new Draggable(el);
	     	},
	     	el.onmouseout = function() {
	     		el.setAttribute('src',foo);
	     		el.setAttribute('hoversrc',bar);
	     		drag.stop();
	     	}
	     },
		 '#suchfeld' : function(el) {
		 	Element.setOpacity(el,0.2);
		 	el.onfocus = function() {
		        if (el.getAttribute('value') == el.value) { 
		 			Element.setOpacity(el,1);
		 			el.style.color='#444';
		 			Element.removeClassName(el,'wminput');
		 			el.setAttribute('value','');
		 		}
		 		new Ajax.Autocompleter('suchfeld','treffer', '/rainer/volltextsuche.php',{paramName:'item',indicator:'indicator',updateElement:function() {$('treffer').setStyle('background-color:white; position:relative ! important;');}});
		 	}
		 	
		 },		 
		 '.springer' : function(el) {
			el.onchange = function() {
				var url = this.options[this.selectedIndex].value;
				self.location=url; 
				return true;
			}
		 },
		 '.gmap' : function(el) {
		 	el.onmouseover = function() {
		 	}
		 },
		 
		 '#rightnavi' : function(el) {
			el.onmouseover = function() {
				this.className='klar';
			},
			el.onmouseout = function() {
				this.className='opac';
			}
			
		 },
		 /*
		 'dl#rightnavi dt' : function(el) {
		   el.onclick = function() {
		   		var merker = $('merker');
				var oldarea = merker.getAttribute('value'); 
				var lastitem = el.parentNode.lastChild.previousSibling;
				el.setAttribute('title',lastitem.id + ' ' + el.id);
				if (lastitem == el) {
					Effect.SlideUp(oldarea);
					return;
				}
				var subarea = 'sub_' + this.id;
		 		if (oldarea != subarea) {
					if (oldarea != '0') {
						Effect.SlideUp(oldarea);
					}
					Effect.BlindDown(subarea);
		 		}
		 		merker.setAttribute("value",subarea);
		 	}
		 },*/
		 'h2.menu' : function(el) {
		 	el.onclick = function() {
		 		menu = el.nextSibling;
		 		Effect.BlindDown(menu);
		 	}
		 },
/*		 '.audioplayermove' : function(el) {
			el.onmouseover = function() {
				var href= this.parentNode.getAttribute('href');
				var url = this.parentNode.getAttribute('url');
				soundManager.createSound({
						id: Math.floor(1000*Math.random()),
						url: url,
						autoLoad: true,
						autoPlay: true,
						onload: function() {},
						volume: 50,
						pan:200*Math.random()-100
					});
			}
		 },
		 '.audioplayerclick' : function(el) {
			el.onclick = function() {
				var href= this.parentNode.getAttribute('href');
				var url = this.parentNode.getAttribute('url');
				soundManager.createSound({
						id: Math.floor(1000*Math.random()),
						url: url,
						autoLoad: true,
						autoPlay: true,
						onload: function() {},
						volume: 50,
						pan:200*Math.random()-100
					});
			}
		 },
*/
		'#shortjump' : function(el) {
			el.onchange = function() {
				var url = '/rainer/' + this.options[this.selectedIndex].value;
				self.location=url; 
				return true;
			}
		 },
		 
		  '.comment_form' : function(el) {
			el.onclick = function() {
				hideFlash();
				var cfid = 'form_' + el.parentNode.id;
				var datum = el.id.split('_');
				var win = new Window({className: "mac_os_x", title: "„Rainers Horen“ :: Kommentar zum Beitrag am "+ datum[1], width:750, height:330, destroyOnClose:false, recenterAuto:true}); 
				win.setCloseCallback(function(){showFlash();win.destroy();})
				win.getContent().update(""); 
				win.setZIndex(9999)
				win.showCenter(true);
				win.setAjaxContent('/rainer/comment.php?item=' + encodeURIComponent(cfid) + '&modus=standard');
				
				return; 

	//			url: "info_panel.html", options: {method: 'get'}
				
				
				
				
				
				new Ajax.Updater(cfid, '/rainer/comment.php', {
					onLoading:function(request) {
						$(cfid).innerHTML= 'Formular wird geladen...';
					},   
			
					onComplete:function(req) {
						Effect.Appear(cfid);
					},
					parameters:'item=' + encodeURIComponent(cfid) 
						+ '&modus=standard',
					evalScripts:true, 
					asynchronous:true
				  }		
			   );	
			}
		 },
		  'a.more' : function(el) {
			el.onclick = function() {
				new Effect.Appear('optionen', { duration: 3.0 });
			}
		 },
		  '#chatter' : function(el) {
				el.onclick = function() {
				$('switcher').src='http://tools.webmasterei.com/horenchat/switcher.php?s=1&' + Math.random();
				new Draggable('horenchat');
				Element.show('horenchat');
					
			}
		 },
		  '#chatcloser' : function(el) {
				el.onclick = function() {
					$('switcher').src='http://tools.webmasterei.com/horenchat/switcher.php?s=0&' +Math.random();
					new Effect.SlideUp('horenchat', { duration: 0.7 });
				}
		 },
	
		  '.comment_read' : function(el) {
			 el.onclick = function() {
				var comments = 'comments_' + this.parentNode.id;
				Effect.BlindDown(comments);
			}
		 },
		 
		 '#rainerp img' : function(el) {
		 	el.onmouseover = function() {
				var ru1 = $('rainerp1').src;
				var ru2 = $('rainerp2').src;
				var ru3 = $('rainerp3').src;
				$('rainerp2').src = ru1;
				$('rainerp3').src = ru2;
				$('rainerp1').src = ru3;
				new Draggable('rainerp1');
				new Draggable('rainerp2');
				new Draggable('rainerp3');
		 	}
		 },
		 '#sabina' : function(el) {
			var url1 = '/rainer/img/preventologin.jpg';
			var url2 = '/rainer/img/rohkost.jpg';
		 	var url = url1;
		 	el.onclick = function() {
		 		url = (url==url1) ? url2 : url1;
		 		var sabina = $('sabinadiv');
		 		if (sabina) sabina.style.backgroundImage='URL('+ url +')';
		 	}
		 },
		 'div.schieber' : function(el) {
		 	//var big = this.firstChild('big');
		 	el.onclick = function() {
		 		var thumb = this.firstChild;
		 		var big  = thumb.nextSibling;
		 		var zoomed = thumb.getAttribute('zoomed');
		 		if (zoomed=='on') {
		 			Effect.Shrink(big,{duration:5});
		 			thumb.setAttribute('zoomed','off');
		 		} else {	
		 			Effect.BlindDown(big,{duration:2});
		 			thumb.setAttribute('zoomed','on');
		 		}
		 	 }	
		 },
		 '.calendarpopuptrigger' : function(el) {
			el.onclick = function() {
				var popper = el.getAttribute('rel');
				new CalendarSmartPopup.Show(el);
			}
		
		},
		///////  	
		'.imgmenu' : function(el) {
			el.style.cursor='pointer';
			el.style.border='2px outset #588';
			el.style.titel='Klick zeigt Großbild';
			Element.setOpacity(el,'0.4');
			if (Element.hasClassName(el,'act')) {
				Element.setOpacity(el,'1');
				el.style.cursor='default';
				el.style.border='2px inset #588';
				
			}
			el.onclick = function() {
				$$('.imgmenu').each(function(e) {
						Element.setOpacity(e,'0.4');
						e.style.border='2px inset #588';
			
				});
				Element.removeClassName(el,'pas');
				Element.addClassName(el,'act');
				Element.setOpacity(el,'1');
			
				var png = el.src;
				var jpg = png.replace(/png/g,'jpg');
				bigimg  = el.parentNode.nextSibling; 
				Element.hide(bigimg);
				bigimg.src=jpg;
				setTimeout(function() {Effect.Grow(bigimg,{duration:0.7});},600);
			}
		},
		'.mp3xmlplayer' : function(el) {
			var id    = 'mp3xml_' + Math.random(); 
			var file =   el.getAttribute('rel');
			el.id = id;
			MP3XML = { 
				movie:"/tools/mediaplayer.swf?file="+  file 
				+ "&autostart=false&autoscroll=false&displayheight=0&lightcolor=0x663300", 
				width:el.getAttribute('width'), 
				height:el.getAttribute('height'),
				majorversion:"8", build:"1" 
			};
			UFO.create(MP3XML,id);
		},
		'.diashow' : function(el) {
			var id = Math.random(7777);
			el.id = id;
			var p;
			$w(el.className).each(function(el){ p = el.split('=')[1];});
			var params = eval('(' + p + ')');
			var so = new SWFObject('/tools/mediaplayer.swf','mpl',params.width,params.height,'8');
			so.addParam('allowscriptaccess','always');
			so.addParam('allowfullscreen','true');
			so.addVariable('repeat','list');
			so.addVariable('shuffle','false');
			so.addVariable('transition','slowfade');
			so.addVariable('showicons','false');
			so.addVariable('shownavigation','false');
			so.addVariable('displaywidth',620);
			so.addVariable('rotatetime',10);
			
			so.addVariable('height',params.height);
			so.addVariable('width',params.width);
			so.addVariable('file',params.xml);
			so.addVariable('screencolor','0xCCCCCC');
			so.addVariable('overstretch','true');
			so.addVariable('showdigits','false');
			so.addVariable('usefullscreen','false');
		//	so.addVariable('autoscroll','true');
		//	so.addVariable('autostart','true');
			so.addVariable('repeat','true');
			so.write(el);
			setTimeout(function(){el.firstChild.style.visibility='visible';},100);
		
		},
		
		'.puzzle' : function(el) {
			el.style.lineHeight='0';
			el.style.backgroundColor='orange';
		},
    	'.flvhplayer' : function(el) {
			var id    = Math.round(1111*Math.random(1111)); 
			var baseurl = 'http://mm.webmasterei.com/';
			var autostart = el.getAttribute('autostart');
			var height = el.getAttribute('height');
			var width  = el.getAttribute('width');
			var file   = el.getAttribute('rel');
			if (!autostart) autostart= 'false';
			el.id = id;
			var so = new SWFObject('/tools/mediaplayer.swf','mpl',width,height,'8');
			so.addParam('allowscriptaccess','always');
			so.addParam('allowfullscreen','true');
			so.addVariable('height',height);
			so.addVariable('width',width);
			so.addVariable('file',baseurl + file );
			so.addVariable('screencolor','0xCCCCCC');
			so.addVariable('displayheight','255');
			so.addVariable('overstretch','true');
			so.addVariable('showdigits','false');
			so.addVariable('usefullscreen','false');
			so.addVariable('autoscroll','true');
			so.addVariable('autostart','true');
			so.addVariable('repeat','true');
			so.write(el);
		},
		'#besucherlistetrigger' : function(el) {
			
			el.style.cursor = 'pointer';
			el.title= 'Google-Map der Besucher';
			hideFlash();
			win = new Window({className: "mac_os_x", title: "Besucher auf „Rainers Horen“ <span style=\"font-size:7pt;margin-left:3em\">(groß+rot = jung, klein + gelb = älter)</span>", width:760, height:400, destroyOnClose: false, recenterAuto:true}); 
			win.getContent().update("<div style=\"width:100%;height:100%\"   id=\"gastmap\">warte ein Weilchen &hellip;</div>"); 

			el.onclick = function() {
				el.style.cursor='wait';
				win.setZIndex(9999)
				win.showCenter(true); 
				setTimeout(function(){
					map = new GMap($('gastmap'));
					map.addControl(new GSmallMapControl());
					map.setMapType(G_NORMAL_MAP);
					map.setCenter(new GLatLng(52.0,10.0),5);
					el.style.cursor='default';
					GDownloadUrl("/rainer/points.json",function(json) {
						var points = eval('(' + json + ')');
						var c = 0;
					for (var i in points) {
							var p = points[i];
							var point = new GLatLng(p.lati,p.longi);
							var marker = createMarker(point,p.stadt,p.zeit,c);
							map.addOverlay(marker);
							c++;
						};
					});
					},400);
					}
			}	
	};

Event.observe(window, 'load', init_app);
 
function init_app(event) {
	$$('.subarea').each(function(el) {el.style.display='none'});
		
	Element.setOpacity($('ralf'),0.7);
/*	soundManager.onload = function() {};
	soundManager.url = '/tools/soundmanager2.swf';
	soundManager.debugMode = false;
	soundManager.consoleOnly = true;*/
	insertPlayer();
	insertAudio();
	insertSelect();
	insertMenu();
	CalendarSmartPopup.Init();
	initLightbox();
	groszbild();
	Behaviour.register(rules);
	Behaviour.apply(rules); 
	insertGooglemap();

//	resizeCaller();
	setTimeout("Monitor()",1000);
	var mondpos=0;
//	var textblock = new Draggable($('textblock'));
	new PeriodicalExecuter( function() {Monitor();},300);
    new PeriodicalExecuter( function() {mondpos=Mond(mondpos);},2);
    new PeriodicalExecuter( function() {
    							if ($('besucherlistetriggerimg').style.cursor=='pointer') $('besucherlistetriggerimg').style.cursor='move';
    							else  $('besucherlistetriggerimg').style.cursor='pointer';
    	
    							;},0.3);
    
}


function ASlider(elemid) {
	var liste = Array();
	var temp;
	var lis = $(elemid).childNodes;
	var j = 0;
	for(var i=0;i<lis.length;i++) {
		if (lis[i].nodeName == 'LI') {
			var uri = lis[i].getAttribute('rel');
			liste[j] = uri;
			j++;
		}
	}
	$(elemid).innerHTML = '';
	var ss = new Slideshow(elemid, {duration:3, uri:liste});
}

function groszbild() {
	var sch = document.getElementsByClassName('schieber');
	for(var i =0; i < sch.length; i++) {
		var src = sch[i].getAttribute('imgsrc');
		var width = sch[i].getAttribute('thumbwidth');
		var timg = new Image();
		timg.src = sch[i].getAttribute('imgsrc');
        var w = Element.getDimensions(timg).width;
		var h = Element.getDimensions(timg).height;
	    var ypos = Math.round(h/w*width);
		var innerhtml = '<img class="schieberimg" zoomed="off" title="Klick zeigt ganzes Bild"  width="'+ width +'" src="' + src + '" /><div  style="position:relative;top:-'+width*1.4 +'px;display:none"><img src="'+src+'" /></div>';
		sch[i].innerHTML = innerhtml;
	}
}

function Mond(xpos) {
	var elems = document.getElementsByClassName('bildrechts');
	for(var i =0; i < elems.length; i++) {
		  if (elems[i].id  == '680') {
		  		if (elems[i].firstChild.id != 'mond') {
					var mond = document.createElement("img");
					mond.setAttribute("src",'/rainer/img/mond.gif');
					mond.setAttribute("width",'48');
					mond.setAttribute("height",'48');
					
					mond.setAttribute("id",'mond');
					mond.setAttribute("style",'position:absolute;top:10px;left:'+ xpos);
					elems[i].insertBefore(mond,elems[i].firstChild);
				}
				var xpos = (xpos+1)%210;
				var ypos=  xpos*1.2;
				var width = 48-Math.round(xpos/5);	
				$('mond').setAttribute("width",width);
				$('mond').setAttribute("height",width);
				
				$('mond').setAttribute("style",'position:absolute;top:'+ypos + 'px;left:'+ xpos + 'px');
				
		 }
	}
	return xpos;
}


function insertAudio() {
	var elems = document.getElementsByClassName('iaudio');
	for(var i =0; i < elems.length; i++) {
		var item    = elems[i];
		var href    = item.href;
		var classname = item.hasClassName('click') 
			? 'audioplayerclick'
			: 'audioplayermove';
		item.setAttribute("url",href);
		item.setAttribute("href",'javascript:void(0);');
		//item.href  = 'void javascript(0)';
		if (item.innerHTML.length==0) {
			item.innerHTML = '<img src="/rainer/img/loudspeaker.gif" class="'+classname+'" id="'+ href +'">';
		} else {
			var html = item.innerHTML;
			item.innerHTML = '<img src="/rainer/img/loudspeaker.gif" class="'+classname+'" id="'+ href +'" + rel="'+ href +'"><span rel="'+ href +'" class="'+classname+'">' + html +'</span>';
			
		}
	}
}

function insertGooglemap() {
	var elems = document.getElementsByClassName('googlemap');
 	var baseIcon = new GIcon();
    baseIcon.iconSize=new GSize(32,32);
    baseIcon.shadowSize=new GSize(56,32);
    baseIcon.iconAnchor=new GPoint(16,32);
    baseIcon.infoWindowAnchor=new GPoint(16,0);
    var pin = new GIcon(baseIcon, "http://familientagebuch.de/rainer/img/pin.gif", null,null);
	var maps    = Array();
	for(var i =0; i < elems.length; i++) {
		var item    = elems[i];
		item.style.zIndex = 999;
		var lati = item.getAttribute('lati');
		var longi = item.getAttribute('longi');
		var marker = new GMarker(new GPoint(lati,longi),pin);
		var zoom = item.getAttribute('zoom');
		maps[i] = new GMap(item);
		maps[i].setMapType(G_HYBRID_MAP);
		maps[i].addControl(new GSmallMapControl()); 
		maps[i].centerAndZoom(new GPoint(lati,longi));
		maps[i].setZoom(zoom);
	 	maps[i].addOverlay(marker);
			
	}
}


function insertSelect() {
	var elems = document.getElementsByClassName('select');
	for(var i=0;i<elems.length;i++) {
		var item=elems[i];
		var bar;
		var id=item.id;
		var links = item.childNodes;
		var options = new Array();
		bar = '<select id="'+id+'" class="springer">';
		var len = links.length;
		for(var l=0; l<links.length; l++) {
			var link = links[l];
			if (link.href == undefined) continue;
			var classname = link.className;
			var option = '<option class="' + classname + '" value="' + link.href + '">' + link.innerHTML + '</option>\n';
			bar  += option;
		}
		bar += '</select>';
		item.innerHTML=bar;
		Element.removeClassName(item,'select');
	}
}

function insertMenu() {
	var elems = document.getElementsByClassName('menu');
	for(var i =0; i < elems.length; i++) {
		var item     = elems[i];
		var title    = item.getAttribute('title');
		var body = item.innerHTML; 
		item.innerHTML= '<h2 class="menu" style="background-image:url(/rainer/img/menu.png);cursor:pointer;background-repeat:no-repeat;padding-left:80px;font-size:11pt;color:#366;font-weight:bold; height:3.5em">' 
		+ title + '</h2><div class="menu" style="display:none;">' + body + '</div>';
		
		//width:elems[i].getAttribute('width'), 
		//height:elems[i].getAttribute('height'),
	}

}


function makeSchiebbar() {
	var imgs = document.getElementsByTagName('img');
	for(var i =0; i < imgs.length; i++) {
//		new Draggable($(imgs[i]));
	}
}

function insertPlayer() {
	var elems = $$('.mediaplayer');
	var gals  = $$('.jpegrotator');
	var irots = $$('.imagerotator');
	var mp3s = document.getElementsByClassName('mp3player');
	var gp = new Array();
	var mp = new Array();
	var mp3 = new Array();
	
	var ir = new Array();
	//Mp3Player
	for(var i =0; i < mp3s.length; i++) {
		var elem = mp3s[i];
		var id    = Math.round(111*Math.random(111)); 
		var url = 'http://mm.webmasterei.com/' + elem.getAttribute('rel');
		if (!elem.getAttribute('rel')) 
		var url = elem.getAttribute('url');
		elem.id = id;
		var height = elem.getAttribute('height');
		var width = elem.getAttribute('width');
	    height=20;
		if (height == null) {
			mp3s[i].innerHTML = '<a href="'+url+'" title=\"MP3 downloaden\"><img src="http://webmasterei.com/muli/img/diskette.gif" width=18 border=0 /></span><span id="sub_'+ id + '">&nbsp;Download oder Flash installieren</span>';
			mp3[i] = { 
			movie:"/tools/mediaplayer.swf?file="+ url 
			+ "&autostart=false&frontcolor=0xffffff&backcolor=0x336666&lightcolor=0x663300", 
			height:18, 
			width:elem.getAttribute('width')-16,
			majorversion:"8", build:"1" };
			UFO.create(mp3[i],'sub_' +id);
		} else {
			mp3[i] = { 
			movie:"/tools/mediaplayer.swf?file="+ url 
			+ "&showdigits=false&usefullscreen=false&autoscroll=true&autostart=false&displayheight=0&frontcolor=0xffffff&screencolor=0x000000&backcolor=0x335555&lightcolor=0x33ffff", 
			height:height, 
			width:width,
			majorversion:"8", build:"1" };
			UFO.create(mp3[i],$(id));
		}
	}
	// MEDIAPLAYER: 
	for(var i =0; i < elems.length; i++) {
		var id    = Math.random(); 
		var file = elems[i].getAttribute('file');
		if (!file) file = elems[i].getAttribute('rel');
		var width= elems[i].getAttribute('width');
		var height = elems[i].getAttribute('height') || 0;
		var dh = elems[i].getAttribute('dheight') || height-20;
		var shownavigation = elems[i].getAttribute('nonavi') ? 'false' : 'true';
		var autostart = elems[i].getAttribute('autostart') ? 'false' : 'true';
	     autostart=false;
	var dw = elems[i].getAttribute('dwidth') || width;
		elems[i].id = id;
		
		mp[i] = { 
		movie:"/tools/mediaplayer.swf?file="+  file 
			+ "&autostart="+autostart
			+"&repeat=list&"
			
			+"shuffle=false&overstretch=true&stretching=fill&autoscroll=false&showicons=false"
			+"&shownavigation="+shownavigation+"&displayheight="+dh+"&lightcolor=0x663300&displaywidth=" + dw, 
		width:width, 
		wmmode:'opaque',
		height:height,
		majorversion:"8", build:"1" };
		UFO.create(mp[i],id);
	}
	//  FLV 
	var filme = $$('.flvplayer');
	var mp4s  = $$('.mp4player');
	
	var fp   = new Array();
	var cam = document.createElement('img');
	cam.src = '/rainer/img/camera.gif';
	cam.style.position = 'absolute';
	cam.style.bottom = '-12px';
	cam.style.right = '0px';
	cam.style.backgroundColor='#fff';
	cam.style.padding='2px 3px';
	Element.setOpacity(cam,'0.7');
	cam.style.zIndex = '9999';
	for(var i =0; i < filme.length; i++) {
		var filmdiv = filme[i];
		var height = filmdiv.getAttribute('height');
		var width = filmdiv.getAttribute('width');
		filmdiv.style.width  = width + 'px';
		filmdiv.style.height = height + 'px';
		filmdiv.style.position='relative';
		Element.removeClassName(filmdiv,'flvplayer');
		
		filmdiv.innerHTML='<h1>Hier könnte ein prima Video kommen. Also einfach den Flashplayer installieren :-)</h1>';
		
		//window.setTimeout(function(){filmdiv.appendChild(cam);},300);

		var id  = 'flvp_' + i; 
		filmdiv.innerHTML = '<div id="'+id+'"></div>';
		var baseurl = 'http://mm.webmasterei.com/';
		var autostart = filmdiv.getAttribute('autostart');
		if (!autostart) autostart= 'false';
		var file    = filmdiv.getAttribute('file');
		if (!file) file = filmdiv.getAttribute('url');
		if (!file) file = filmdiv.getAttribute('rel');
		var regex = /(.*)\.flv/;
		var parts = regex.exec(file);
		
		var shownavigation = filmdiv.getAttribute('nonavi') || Element.hasClassName(filmdiv,'nonavi') ? 'false' : 'true';
		
		if (parts != null) {
			var flv = baseurl + parts[1] + '.flv';
			var img = baseurl + parts[1] + '.jpg';
		}
		var displayheight = height+4;
		var player ='mediaplayer.swf';
		var param = '/tools/'+player+'?&file='+ encodeURIComponent(flv) + '&image=' + encodeURIComponent(img)  
			+ "&height="+height+"&_logo=/rainer/img/2009/wm.png&overstretch=true&stretching=fill&bufferlength=12&showicons=true&usefullscreen=false&screencolor=0xFFFFFF&autostart="+autostart + '&shownavigation=' + shownavigation;
		if (displayheight>0) param += '&displayheight=' + displayheight;
		if (Element.hasClassName(filmdiv,'repeat')) param += '&repeat=always';
		if (Element.hasClassName(filmdiv,'mute')) param += '&mute=true';
		if (Element.hasClassName(filmdiv,'autostart')) param += '&autostart=true';
		
		
	
		fp[i] = { 
			movie:param, 
			width:width, 
			height:height,
			majorversion:"8", build:"1"
		};
		UFO.create(fp[i],id);
		filmdiv.removeAttribute('nonavi');
	}
	for(var i =0; i < mp4s.length; i++) {
		var filmdiv = mp4s[i];
		var height = filmdiv.getAttribute('height');
		var width = filmdiv.getAttribute('width');
		filmdiv.style.width  = width + 'px';
		filmdiv.style.height = height + 'px';
		filmdiv.style.position='relative';
		Element.removeClassName(filmdiv,'mp4player');
		
		filmdiv.innerHTML='<h1>Hier könnte ein prima Video kommen. Also einfach den Flashplayer installieren :-)</h1>';
		
		//window.setTimeout(function(){filmdiv.appendChild(cam);},300);

		var id  = 'mp4p_' + i; 
		filmdiv.innerHTML = '<div id="'+id+'"></div>';
		var baseurl = 'http://mm.webmasterei.com/';
		var autostart = filmdiv.getAttribute('autostart');
		if (!autostart) autostart= 'false';
		var file    = filmdiv.getAttribute('file');
		if (!file) file = filmdiv.getAttribute('url');
		if (!file) file = filmdiv.getAttribute('rel');
		var regex = /(.*)\.mp4/;
		var parts = regex.exec(file);
		
		var shownavigation = filmdiv.getAttribute('nonavi') || Element.hasClassName(filmdiv,'nonavi') ? 'false' : 'true';
		  
		if (parts != null) {
			var mp4 = baseurl + parts[1] + '.mp4';
			var img = baseurl + parts[1] + '.jpg';
		}
		var displayheight = height+4;
		var player ='mediaplayer.swf';
		var param = '/tools/'+player+'?&file='+ encodeURIComponent(mp4) + '&image=' + encodeURIComponent(img)  
			+ "&height="+height+"&_logo=/rainer/img/2009/wm.png&overstretch=true&stretching=fill&bufferlength=12&showicons=true&usefullscreen=false&screencolor=0xFFFFFF&autostart="+autostart + '&shownavigation=' + shownavigation;
		if (displayheight>0) param += '&displayheight=' + displayheight;
		if (Element.hasClassName(filmdiv,'repeat')) param += '&repeat=always';
		if (Element.hasClassName(filmdiv,'mute')) param += '&mute=true';
		if (Element.hasClassName(filmdiv,'autostart')) param += '&autostart=true';
		
		
	
		fp[i] = { 
			movie:param, 
			width:width, 
			height:height,
			majorversion:"8", build:"1"
		};
		UFO.create(fp[i],id);
		filmdiv.removeAttribute('nonavi');
	}
	
	
	var flashs = $$('.flash');
	var fl   = new Array();
	for (var i=0;i<flashs.length;i++) {
		var id    = Math.random(); 
		flashs[i].id = id;
		var width     =  flashs[i].getAttribute('width'); 
		var url      =  flashs[i].getAttribute('file');
		fl[i] = { 
			movie:url,bgcolor:0xFFFFFF,width:flashs[i].getAttribute('width'),height:flashs[i].getAttribute('height'),majorversion:"8", build:"1" };
	    UFO.create(fl[i],id);
	}	
	//  JPEGOTATORS
	for (var i=0;i<gals.length;i++) {
		var id    = Math.random(); 
		gals[i].id = id;
		gp[i] = { 
		movie:"/tools/jpegrotator.swf?file="
			+ gals[i].getAttribute('file'), 
		width:gals[i].getAttribute('width'), 
		height:gals[i].getAttribute('height'),
		majorversion:"8", build:"1" };
	    UFO.create(gp[i],id);
	}
	//Imagerotator
	for (var i=0;i<irots.length;i++) {
		var rid    = Math.round(99999*Math.random());
		var rotatetime = irots[i].getAttribute('rotatetime');
		if (!rotatetime) rotatetime = 10;
		var shownavi = irots[i].getAttribute('shownavi');
		if (!shownavi) shownavi = 'false';
		irots[i].innerHTML='<h1>Hier könnte ein prima Bildergalerie kommen. Also einfach den Flashplayer installieren :-)</h1>';
		irots[i].id = rid;
		var flash = { 
		movie:"/tools/imagerotator.swf?&width="+irots[i].getAttribute('width')+"&height="+irots[i].getAttribute('height')+"&stretching=fill&overstretch=true&shuffle=false&rotatetime="+rotatetime + "&shownavigation="+shownavi+"&transition=slowfade&file="
			+ irots[i].getAttribute('rel'), 
		width:irots[i].getAttribute('width'), 
		height:irots[i].getAttribute('height'),
		majorversion:"9", build:"1" };
		UFO.create(flash,rid);;
	}
	var kbs   = $$('.kenburns');
	var kb   = new Array();
	var rotatetime = new Array();
	var audios = [];
	for (var i=0;i<kbs.length;i++) {
		var id    = Math.random(); 
		kbs[i].id = id;
		audios[i] = 'http://mm.webmasterei.com/'+ kbs[i].getAttribute('audio');
		rotatetime[i] =  kbs[i].getAttribute('rotatetime');
		if (!rotatetime[i]) rotatetime[i] =7;

		var movie = "/tools/imagerotator.swf?shuffle=false&audio="+ encodeURIComponent(audios[i])+"&rotatetime="+rotatetime+"&shownavigation=false&volume=0&useaudio=true&autostart=true&kenburns=true&transition=slowfade&file="
			+ kbs[i].getAttribute('file');
		kb[i] = { 
		movie:movie, 
		width:kbs[i].getAttribute('width'), 
		height:kbs[i].getAttribute('height'),
		majorversion:"8", build:"1" };
	    UFO.create(kb[i],id);
	    var div = document.createElement("DIV");
	    div.style.width = kbs[i].getAttribute('width') +'px';
	    div.style.height ='20px';
	    div.className ='loudspeaker';
	    div.setAttribute('id','loudsp' +i);   
	    kbs[i].appendChild(div);
	    var loudspeaker = document.createElement("IMG");
        loudspeaker.setAttribute('id','loudsp' +i);   
        loudspeaker.src= ''; 
        loudspeaker.onclick = function() { };
 	}
}


function Monitor() {
		GDownloadUrl("/rainer/points.json",function(json) {
						if (!map) return;
						map.clearOverlays();
						var points = eval('(' + json + ')');
						var c=0;
						for (var i in points) {
							var p = points[i];
							var point = new GLatLng(p.lati,p.longi);
          					var marker = createMarker(point,p.stadt,p.zeit,c);
          					map.addOverlay(marker);
							c++;
						};
					})
		 new Ajax.Updater(
			'keywordliste', '/rainer/getkeywords.php', {
				onComplete:function(request) {
					new Effect.BlindDown('keywordliste');
				},
				evalScripts:true, 
				asynchronous:true
			}		
		);
	new Ajax.Updater(
			'besucherliste', '/rainer/getbesucher.php', {
				onComplete:function(request) {
					new Element.show('liste');
				},
				evalScripts:true, 
				asynchronous:true
			}		
		);
}

function Zeit() {
	//return;
	new Ajax.Updater(
			'zeit', '/rainer/time.php', {
				evalScripts:true, 
				asynchronous:true
			}		
		);
}



function toggleCriticalElements(action) {
	var tags = ['select','object','embed'];
	for (e = 0; e != tags.length; e++) {
		var items = [];
		items = document.getElementsByTagName(tags[e]);
		if (action=='on') {
			for (i = 0; i != items.length; i++) {
				items[i].style.visibility = "visible";
			}
		} else if (action=='off') {
			for (i = 0; i != items.length; i++) {
				items[i].style.visibility = "hidden";
			}
		}	
	}
}

var CalendarSmartPopup = {
	Init : function() {
		var c = new Array();
		var d = document.createElement("div");
		d.style.position='absolute';
		d.style.backgroundColor='white';
		d.style.zIndex='9999';
		d.style.visibility='hidden';
		d.setAttribute('id','calpopper');
		//document.body.insertBefore(d,document.body.lastChild);
		new Draggable(d);
		var calinputs = document.getElementsByClassName('calendarpopup');
		for (i=0;i<calinputs.length;i++) {
			var id = 'calpop_' + i;
			var cell  = calinputs[i].parentNode;
			calinputs[i].style.width='6em';
			calinputs[i].style.height='1.2em';
			c[i] = document.createElement("img");
			c[i].setAttribute("src","http://bagdad.theaterplan.net/muli/img/b_calendar.png");
			c[i].setAttribute("title",'Kalender aufrufen');
			c[i].setAttribute("width",'18px');
			c[i].setAttribute("align",'top');
		    c[i].setAttribute("class",'calendarpopuptrigger');
			c[i].setAttribute("id",id);
			c[i].setAttribute("name",id);
			c[i].style.cursor='pointer';
//			c[i].onclick = function() {CalendarSmartPopup.Show(c[i]);};
			cell.appendChild(c[i]);
		}	
	},
	Show : function(clicker) {
		var myanchor = clicker.id;
		var myinput  = clicker.previousSibling;
		var cal = new CalendarPopup('calpopper');
		cal.setMonthNames('Januar','Februar','März','April','Mai','Juni','Juli', 'August','September','Oktober','November','Dezember');
		cal.setDayHeaders('So','Mo','Di','Mi','Do','Fr','Sa');
		cal.setWeekStartDay(1);
		cal.setCssPrefix("CALPOP");
		cal.showNavigationDropdowns();
		cal.setTodayText("heute");
		cal.select(	myinput,      //  da sollen die Daten hin (INPUT)
					myanchor,     //  ID und NAME des Bildchens 
					'dd.MM.yyyy',null);
	}
}


function adjustiframesize (iframeWindow) {
alert(iframeWindow);
if (iframeWindow.document.height) {
var iframeElement = document.getElementById
(iframeWindow.name);
iframeElement.style.height = iframeWindow.document.height + 'px';
iframeElement.style.width = iframeWindow.document.width + 'px';
}
else if (document.all) {
var iframeElement = document.all[iframeWindow.name];
if (iframeWindow.document.compatMode &&
iframeWindow.document.compatMode!= 'BackCompat')
{
iframeElement.style.height =
iframeWindow.document.documentElement.scrollHeight + 5 + 'px';
iframeElement.style.width =
iframeWindow.document.documentElement.scrollWidth + 5 + 'px';
}
else {
iframeElement.style.height =
iframeWindow.document.body.scrollHeight + 5 + 'px';
iframeElement.style.width =
iframeWindow.document.body.scrollWidth + 5 + 'px';
}
}
}

///

 
//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
//var iframeids = document.getElementsByClassnName('autoresize');
 
//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"
 
var
getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers
 
function resizeCaller() {
	var dyniframe=new Array()
	var iframeids = document.getElementsByClassName('autoresize');
	for (i=0; i<iframeids.length; i++) {
		if (document.getElementById) resizeIframe(iframeids[i])
		//reveal iframe for lower end browsers? (see var above):
		if ((document.all || document.getElementById) && iframehide=="no") {
			var tempobj=document.all
				? document.all[iframeids[i]] 
				: $(iframeids[i])
			tempobj.style.display="block"
		}
	}
}
 
function resizeIframe(frameid) {
	var currentfr = $(frameid)
	if (currentfr && !window.opera) {
		currentfr.style.display="block"
		if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) {			
			//ns6 syntax
			currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
			//alert(currentfr.height);
		}	
		else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
			currentfr.height = currentfr.Document.body.scrollHeight;
		if (currentfr.addEventListener)
			currentfr.addEventListener("load", readjustIframe, false)
		else if (currentfr.attachEvent){
			currentfr.detachEvent("onload", readjustIframe) // Bug fix line
		    currentfr.attachEvent("onload", readjustIframe)
	    }
	}
}
 
function readjustIframe(loadevt) {
	var crossevt=(window.event)? event : loadevt
	var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
	if (iframeroot) resizeIframe(iframeroot.id);
}
 
function loadintoIframe(iframeid, url) {
	if (document.getElementById)
	document.getElementById(iframeid).src=url
}
 /*
if (window.addEventListener) window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent) window.attachEvent("onload", resizeCaller)
else window.onload=resizeCaller
 */
 
 
 ////////////
 
 function adjustIFrameSize (iframeWindow) {
  if (iframeWindow.document.height) {
    var iframeElement = document.getElementById
(iframeWindow.name);
    iframeElement.style.height = iframeWindow.document.height + 'px';
  }
  else if (document.all) {
    var iframeElement = document.all[iframeWindow.name];
    if (iframeWindow.document.compatMode &&
        iframeWindow.document.compatMode != 'BackCompat') 
    {
      iframeElement.style.height = 
iframeWindow.document.documentElement.scrollHeight + 5 + 'px';
    }
    else {
      iframeElement.style.height = 
iframeWindow.document.body.scrollHeight + 5 + 'px';
    }
  }
}
 
 

 function createMarker(point,ort,zeit,c) {
 	var tinyIcon = new GIcon();
 	if (c<2) {
 		tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
 		tinyIcon.iconSize = new GSize(20,30);
	
 	} else if (c<4) {
 		tinyIcon.image ="http://labs.google.com/ridefinder/images/mm_20_orange.png";
		tinyIcon.iconSize = new GSize(18,26);
	
 	} else if (c<8) {
 		tinyIcon.image ="http://labs.google.com/ridefinder/images/mm_20_orange.png";
 		tinyIcon.iconSize = new GSize(16, 24);
 		
 	} else if (c<12) {
 		tinyIcon.image ="http://labs.google.com/ridefinder/images/mm_20_yellow.png";
 		tinyIcon.iconSize = new GSize(14, 21);
 	} else if (c<16) {
 		tinyIcon.image ="http://labs.google.com/ridefinder/images/mm_20_yellow.png";
 		tinyIcon.iconSize = new GSize(12, 18);
 	} else  {
 		tinyIcon.image ="http://labs.google.com/ridefinder/images/mm_20_yellow.png";
 		tinyIcon.iconSize = new GSize(10,15);
	
 	}
	
 	tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	tinyIcon.shadowSize = new GSize(20, 16);
	tinyIcon.iconAnchor = new GPoint(6, 20);
	tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    var marker = new GMarker(point,{icon:tinyIcon,title:ort + ' ' + zeit,opacity:'0.6'});
    return marker;
 }



function showFlash(){
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "visible";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "visible";
	}
	return true;
}

// ---------------------------------------------------

function hideFlash() {
	//return;
	
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "hidden";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "hidden";
	}

}

 
var Panorama = Class.create();
Panorama.prototype = {
   initialize : function(elem,options) {
                this.elem = (typeof(elem)=='string')
                        ? $(elem) : elem;
                this.options = Object.extend({
                        interval : 0.05,
                        width    : 200,
                        xpos     : 0
                }, options || {})
                this.xpos  = 0;
                this.v     = 1;
                this.pe    = undefined;
                var dims = Element.getDimensions(this.elem);
                this.width = this.options.width;
                this.elem.style.cursor = 'pointer';
                this.elem.style.backgroundPosition = this.options.xpos+'px';
                Event.observe(this.elem,'mouseover', this.start.bind(this));
                Event.observe(this.elem,'mouseout', this.stop.bind(this));
        		this.elem.style.position =  'relative';
			    this.panoico = document.createElement("img");
			    this.panoico.src = '/rainer/img/pano.gif';
				this.panoico.style.position = 'absolute';
				this.panoico.style.bottom = '5px';
				this.panoico.style.right = '5px';
				
				this.panoico.src = '/rainer/img/pano.gif';
				this.elem.appendChild(this.panoico);
		
        },
        start: function() {
                if (!this.pe)  this.pe = new PeriodicalExecuter(this.cycle.bind(this), this.options.interval);
                this.elem.onmousemove = this.changespeed.bindAsEventListener(this);
        },
        stop: function() {
                this.v=0;

        },
        changespeed : function(e) {
                var x = Event.pointerX(e) - Position.cumulativeOffset(this.elem)[0]
                this.v = Math.round((this.width/2-x)/10);
                if (this.v>0) this.elem.style.cursor = 'w-resize';
                else this.elem.style.cursor = 'e-resize';
        },
        cycle: function() {
                this.xpos += Math.round((this.v));
                if (this.v != 0) 
                	this.elem.style.backgroundPosition = this.xpos + 'px 0px';
        }
};

 // Hansenet  040 237260