// New7Wonders-JS-Functions
var i = 0;
var myTimeouts = new Array();
var Slogan = new Array();
var currentSlogan = 0;
var OverlayPager = new Array();


// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

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";
	}
}

// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

function hideFlash(){
	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";
	}

}

// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

function showSelectBoxes(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

function hideSelectBoxes(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}


// ---------------------------------------------------
// iecompattest() and Browser-Detection are taken from:
// Floating Top Bar script Dynamic Drive (www.dynamicdrive.com)
// Sliding routine by Roy Whittle (http://www.javascript-fx.com/)
// This notice must stay intact for legal use.
// Visit http://www.dynamicdrive.com/ for full source code

function iecompattest()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}


function MFpopup(theURI)
{
	window.open(theURI, 'mfpopup', 'width=600,height=350,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes');
	return false;
}

function ajax_generic(ref, mode, param)
{
	new Ajax.Updater(ref, '/ajax/mode/'+mode+'/', {
		'method': 'post',
		'parameters': param,
		'asynchronous': true,
		'evalScripts': true
	});
}

function ajax_pager(typ, url)
{
	new Ajax.Updater('pager_'+typ, '/ajax/mode/pager/pagertyp/'+typ+'/'+url, {method: 'get'});
}

function getRealLeft(el)
{
	xPos = el.offsetLeft;
	tempEl = el.offsetParent;
	return xPos;
}

function showSubNav(topnav, subnavid)
{
	hideAllSubNav();

	if($('subnav_'+subnavid))
	{
		$('subnav_'+subnavid).style.left = getRealLeft(topnav) + 'px';
		//$('subnav_'+subnavid).style.display = 'block';
		new Effect.Appear('subnav_'+subnavid, { duration:0.2, queue:{ scope:'menuScope', limit: 1 } });
	}
}

function hideSubNav(e, element, subnavid)
{
	var ziel=e.relatedTarget?e.relatedTarget:e.toElement;
	var kinder=element.getElementsByTagName('*');
	for(var i=0;i<kinder.length;i++) { if(kinder[i]==ziel||element==ziel) { return; } }

	document.getElementById('subnav_'+subnavid).style.display = 'none';
}

function hideAllSubNav()
{
	var queue = Effect.Queues.get('menuScope');
	queue.each(function(effect) { effect.cancel(); });

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


function OverlayOff()
{
	document.getElementById('overlayContent').style.display = 'none';
	document.getElementById('overlay').style.display = 'none';
	document.getElementById('overlayPager').innerHTML = '';
	document.getElementById('overlayData').innerHTML = '';

	showFlash();
	showSelectBoxes();
}

function OverlayOn(ref_id, typ, mode, firstPage)
{
	// Core code from - quirksmode.org
	// modified based on lightbox2

	hideFlash();
	hideSelectBoxes();

	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	var pY = ns ? pageYOffset : iecompattest().scrollTop;

	var yScroll;
	if (window.innerHeight && window.scrollMaxY) { yScroll = window.innerHeight + window.scrollMaxY; }
	else if (document.body.scrollHeight > document.body.offsetHeight){ yScroll = document.body.scrollHeight;
	} else { yScroll = document.body.offsetHeight; }

	var windowHeight;
	if (self.innerHeight) {	windowHeight = self.innerHeight; }
	else if (document.documentElement && document.documentElement.clientHeight) { windowHeight = document.documentElement.clientHeight; }
	else if (document.body) { windowHeight = document.body.clientHeight; }	

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){ pageHeight = windowHeight; }
	else { pageHeight = yScroll; }
	// End

	// hack for IE6: Background with rastered gif
	var nAgt = navigator.userAgent;
	if((verOffset=nAgt.indexOf("MSIE"))!=-1)
	{
		if(parseInt(parseFloat(nAgt.substring(verOffset+5))) <= 6)
		{
			document.getElementById('overlay').style.backgroundColor = 'transparent';
			document.getElementById('overlay').style.backgroundImage = 'url(/static/pix/ie6_pseudotrans.gif)';
		}
	}


	document.getElementById('overlay').style.height = pageHeight+'px';
	document.getElementById('overlay').style.display = 'block';
	document.getElementById('overlayContent').style.top = (pY + 100) + 'px';
	document.getElementById('overlayContent').style.display = 'block';

	if(mode == 'mywonder')
	{
		// typ ist hier nicht relevant
		myWonderPager(ref_id, firstPage);
	}
	else
	{
		FoverlayPager(ref_id, typ, firstPage)
	}
}

function FoverlayPager(ref_id, typ, page)
{
	var myPager = '';
	var mySrc = ''; var myBreite = 0; var myHoehe = 0;
	var i2 = 0;
	var prevPage = 0;
	var nextPage = 0;
	for(i=0; i<OverlayPager.length; i++)
	{
		if(OverlayPager[i] && OverlayPager[i][1] == ref_id)
		{
			if(OverlayPager[i][2] == typ)
			{
				if(i2 > 0)
				{
					myPager += ' <span class="white">|</span> ';
				}

				if(OverlayPager[i][0] == page)
				{
					mySrc = OverlayPager[i][3];
					myBreite = OverlayPager[i][4];
					myHoehe = OverlayPager[i][5];
					prevPage = page - 1;
					myPager += '<span onclick="FoverlayPager(' + ref_id + ',\'' + typ + '\',' + OverlayPager[i][0] + ');" class="pagetoolNoStyle" style="font-weight: bold; color: #ffffff;">' + OverlayPager[i][0] + '</span>';
				}
				else
				{
					myPager += '<span onclick="FoverlayPager(' + ref_id + ',\'' + typ + '\',' + OverlayPager[i][0] + ');" class="pagetool">' + OverlayPager[i][0] + '</span>';
				}

				if((prevPage > 0 || page == 1) && (prevPage + 2) == OverlayPager[i][0]) { nextPage = OverlayPager[i][0]; }

				i2++;
			}
		}
	}

	if(prevPage > 0) { myPager = '<span class="white">&lt;&lt;</span> <span onclick="FoverlayPager(' + ref_id + ',\'' + typ + '\',' + prevPage + ');" class="pagetool">previous</span> &nbsp; '+myPager; } else { myPager = '<span class="white">&lt;&lt; previous</span> &nbsp; '+myPager; }
	if(nextPage > 0) { myPager = myPager + ' &nbsp; <span onclick="FoverlayPager(' + ref_id + ',\'' + typ + '\',' + nextPage + ');" class="pagetool">next</span> <span class="white">&gt;&gt;</span>'; } else { myPager = myPager+' &nbsp; <span class="white">next &gt;&gt;</span>'; }

	document.getElementById('overlayPager').innerHTML = myPager;
	if(typ == 'bild')
	{
		document.getElementById('overlayData').innerHTML = '<img src="'+mySrc+'" alt="" style="width: '+myBreite+'px; height: '+myHoehe+'px;" />' + document.getElementById('bildunterschrift_' + ref_id + '_' + page).innerHTML;
	}
	else
	{
		document.getElementById('overlayData').innerHTML = '<div id="overlayPlayer'+page+'" style="margin-left: auto; margin-right: auto; position: relative; height: '+myHoehe+'px; width: '+myBreite+'px;"><a href="http://www.macromedia.com/go/getflashplayer" target="_blank">Get the Flash Player</a> to see this video.</div>' + document.getElementById('bildunterschrift_'+ref_id+'_'+page).innerHTML;
		var s1 = new SWFObject("/static/swf/flvplayer.swf","singlePlayer",myBreite,myHoehe,"7");
		s1.addParam("allowfullscreen","true");
		s1.addParam("allowscriptaccess","always");
		s1.addVariable("file",mySrc);
		// FIXME
		s1.addVariable("image","/static/pix/spg_transp.gif");
		//s1.addVariable("image","/file/inline/id/' . $data_run['m_id'] . '/art/220x164/name/pseudopreview.jpg");
		s1.addVariable("width",myBreite);
		s1.addVariable("height",myHoehe);
		s1.write('overlayPlayer'+page);
	}
}


function GoogleMapRO(ref, lat, lng)
{
	if(GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById(ref));
		geocoder = new GClientGeocoder();

		map.addControl(new GSmallMapControl());
		//map.addControl(new GMapTypeControl());

		point = new GLatLng(lat, lng);
		map.setCenter(point, 15, G_HYBRID_MAP);
		marker = new GMarker(point, {title:'click to open directions', draggable:false});
		map.addOverlay(marker);

		GEvent.addListener(marker, "click", function() {
			window.open('http://maps.google.com/maps?f=d&source=s_d&saddr=&daddr='+lat+','+lng, 'gmaps');
		});
	}
}

function GoogleMapCitymap(ref, lat, lng)
{
	if(GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById(ref));
		geocoder = new GClientGeocoder();

		//map.addControl(new GSmallMapControl());
		//map.addControl(new GMapTypeControl());

		point = new GLatLng(lat, lng);
		map.setCenter(point, 15, G_HYBRID_MAP);
		marker = new GMarker(point, {title: 'munich', draggable:false });
		map.addOverlay(marker);
	}
}



function initToggleMore()
{
	var tmp;
	$$('div.showfull').each(
		function(el) {
			tmp = el.id.split(/_/);
			if($('anzeigewrapper_'+tmp[1]).getHeight() > 144)
			{
				$('toggler_'+tmp[1]).writeAttribute('style');
				$('anzeigewrapper_'+tmp[1]).addClassName('cutoff');
				$('anzeigewrapper_'+tmp[1]).removeClassName('showfull');
			}
		}
	);

}

function toggleMore(ref)
{
	if($('anzeigewrapper_'+ref).className == 'cutoff')
	{
		new Effect.Morph('anzeigewrapper_'+ref, {
			duration:0.5,
			style: 'showfull',
			afterFinish: function(res)
				{
					$('toggler_'+ref).innerHTML='View less';
					$('anzeigewrapper_'+ref).removeClassName('cutoff');
					$('anzeigewrapper_'+ref).addClassName('showfull');
				}
		});
	}
	else if($('anzeigewrapper_'+ref).className == 'showfull')
	{
		new Effect.Morph('anzeigewrapper_'+ref, {
			duration:0.5,
			style: 'height: 144px',
			afterFinish: function(res)
				{
					$('toggler_'+ref).innerHTML='View more';
					$('anzeigewrapper_'+ref).addClassName('cutoff');
					$('anzeigewrapper_'+ref).removeClassName('showfull');
					$('anzeigewrapper_'+ref).writeAttribute('style');
				}
		});

	}

	return false;
}


function showHide(ref)
{
	if($(ref).style.display == 'none')
	{
		$(ref).style.display = 'block';
	}
	else
	{
		$(ref).style.display = 'none';
	}
}