﻿/*
 *
 * yui_functions.js
 */

/** Ajax **/

function ajax(method, url, action, div, formId, animation){
	if(typeof animation == 'undefined') animation = 'false';
	if(action != '') action='?action='+action;
	if(typeof div == 'undefined'){
		return;
	}
	if(url == ''){
		return;
	}
	if(url == 'ajax.php') url = project + '/includes/php/ajax.php';
	if(typeof method == 'undefined' || method == '') method = 'GET';
	
	if(typeof formId !== 'undefined' && formId != '') {
		formObj = document.getElementById(formId);
		YAHOO.util.Connect.setForm(formObj);
	} 
	
	var dummyDiv = document.getElementById('ajaxDummyDiv');
	var targetDiv = document.getElementById(div);
	var animationHeight = 0;
	if(!targetDiv || typeof(targetDiv) == 'undefined' || targetDiv == '')
	{
		YAHOO.log(typeof(targetDiv) +'('+div+')'+'not set?','error');
	}
	var callback = {
		success: function(o) {
			YAHOO.log('AJAX Request Success '+url+action, 'info'); 
			YAHOO.log('AJAX Request Targetdiv: '+div, 'info');
			//alert(document.getElementById(div));
			if(targetDiv)
			{
				if(animation == true)
				{
					dummyDiv.innerHTML = o.responseText;
					var anim = collapseDiv(targetDiv);
					animCallBack = function()
					{
						animationHeight = dummyDiv.offsetHeight;
						//animationHeight = animationHeight+15;
						expandDiv(targetDiv, animationHeight);
						targetDiv.innerHTML = dummyDiv.innerHTML;
						dummyDiv.innerHTML = '';
					}
					anim.onComplete.subscribe(animCallBack);
				}
				else
				{
					targetDiv.innerHTML = o.responseText;
				}
			}	
			else
				YAHOO.log('AJAX Request Targetdiv: '+div+' existiert nicht', 'error');
		},
		failure: function(o) {
			YAHOO.log('AJAX Request Failed: '+url, 'error'); 
		}
	}
	YAHOO.util.Connect.asyncRequest(method, url+action, callback);
	//return false;
}

function collapseDiv(div)
{
	var attributes = {
		//height: { to: 0 }
		opacity: { to: 0.2 }
	};
	
	var myAnim = new YAHOO.util.Anim(div.id, attributes, 0.2);
	myAnim.animate();
	return myAnim;
}
function expandDiv(div, height)
{
	//alert(document.getElementById(div).offsetHeight);
	var attributes = {
		height: { to: height },
		opacity: { to: 1 }
	};
	
	var myAnim = new YAHOO.util.Anim(div.id, attributes, 0.2);
	myAnim.animate();
	return myAnim;
}








/*
 * Videopageination
 */

function switchVideoPage(site){
		
	videoSites = YAHOO.util.Dom.getElementsByClassName('videoListing');
	
	for(var i = 0; i <= videoSites.length-1; i++)
	{
		YAHOO.util.Dom.removeClass(videoSites[i], 'active');
		//videoSites[i].setStyle('display', 'none');
	}
	actPage = YAHOO.util.Dom.get('videoList_'+site);
	YAHOO.util.Dom.addClass(actPage, 'active');
	if (site <= 1)
	{
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('leftVideo'), 'display', 'none');
	}
	else {
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('leftVideo'), 'display', 'inline');
	}
	if(site >= videoSites.length)
	{
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('rightVideo'), 'display', 'none');
	}
	else
	{
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('rightVideo'), 'display', 'inline');
	}
}
function switchVideoPageArrow(leftRight){
		
	videoSites = YAHOO.util.Dom.getElementsByClassName('videoListing');
	
	for(var i = 0; i <= videoSites.length-1; i++)
	{
		if(YAHOO.util.Dom.hasClass(videoSites[i], 'active'))
		{
			YAHOO.util.Dom.removeClass(videoSites[i], 'active');
			if (leftRight == 'left') {
				if (i <= 1)
				{
					YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('leftVideo'), 'display', 'none');
				}
				else {
					YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('leftVideo'), 'display', 'inline');
				}
				YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('rightVideo'), 'display', 'inline');
				YAHOO.util.Dom.addClass(videoSites[i - 1], 'active');
			}
			else
			{
			 	if((i+1) >= (videoSites.length-1))
				{
					YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('rightVideo'), 'display', 'none');
				}
				else
				{
					YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('rightVideo'), 'display', 'inline');
				}
				YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('leftVideo'), 'display', 'inline');
				YAHOO.util.Dom.addClass(videoSites[i + 1], 'active');
			}
			
			
			
			i = videoSites.length;
		}
	}
}


var seatingPlanBig = false;

function animSeatingPlan()
{
	//alert("animSeatingPlan" + seatingPlanBig);
	if(seatingPlanBig)
	{
		var width = 225;
		var height = 150;
		var top = 130;
		var left = 660;	
		opacity = 1;	
	}
	else
	{
		width = 900;
		height = 600;
		top = 22;
		left = 0;
		opacity = 1;		
	}

	
	var attributes = {
		width: { to: width },
		height: { to: height },
		top: { to: top },
		left: { to: left },
		opacity: { to: opacity }
	};
	
	var myAnim = new YAHOO.util.Anim("seatingPlan", attributes, 0.3);
	

	if (seatingPlanBig) 
	{
		seatingPlanBig = false;
		//hideCloseButton();
		
	}
	else 
	{
		seatingPlanBig = true;
		//myAnim.onComplete.subscribe(showCloseButton);
	}
	
	myAnim.animate();
	
	return myAnim;
}

/*
function showCloseButton(){
	var attributes = {
		opacity: {to: 1}
	};
	var myAnim = new YAHOO.util.Anim("closeButton", attributes, 0.1);
	
	documkent.getElementByID("closeButton").style.opacity = "1";
}

function hideCloseButton(){
	var attributes = {
		opacity: {to: 0}
	};
	
	var myAnim = new YAHOO.util.Anim("closeButton", attributes, 0.1);
}
*/

/*
 * In dieser datei sind Javascript funktionen zur steuerung und initialisierung
 * des video players enthalten
*/

var vp_global=new Array();  // Achtung, das vp_global array kann zusaetzliche config variablen zu einer video id enthalten!
var videoAppBasePath="/lml/includes/apps/player";
var defaultDivId="player";

function initializeVideo(videoid, chapter, divid, startposition) {  
	if(typeof divid=="undefined"){
		divid=defaultDivId;
	}
	_initializePlayer(videoid,divid,startposition,videoAppBasePath+"/standard/", chapter)	
}

// Diese funktion liefert einfach ein Flash Object zurueck welches man bis
 // version 8 einfach mit punkt notation ansprechen kann
function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}

function setFlashPlayerRequest(flashid,request){ 
	getFlashMovieObject(flashid).SetVariable("setRequest",request)
}

 

// Diese funktion sollte nicht direkt aufgerufen werden, das "_" signalisiert
// eine private funktion ;)
function _initializePlayer(videoid,divid,startposition,configpath, chapter){
	 
	var so = new SWFObject(configpath+"player_core.swf", "player",  "100%","100%","9","#ffffff");
  
	so.useExpressInstall("/lml/media/flash/player/expressinstall.swf");
	so.addParam("menu","false");
	so.addParam("wmode","opaque");
	so.addParam("quality","high");
	so.addParam("allowScriptAccess","always");
	so.addParam("allowFullScreen","true");
	so.addVariable("asf", videoid);	 
 
	 
	so.addVariable("config", configpath+"config.xml");	
	so.write(divid);	

	
}


//checkNaviPos


function checkNaviPos()
{
	// all except Explorer
	if (self.innerHeight)  {
	    screenX = self.innerWidth;
	    screenY = self.innerHeight;
	}
	// Explorer 6 Strict Mode
	else if (document.documentElement && document.documentElement.clientHeight) {
	    screenX = document.documentElement.clientWidth;
	    screenY = document.documentElement.clientHeight;
	}
	// other Explorers
	else if (document.body) {
	    screenX = document.body.clientWidth;
	    screenY = document.body.clientHeight;
	}  
	
	if(screenY <= 590)
	{
		posNavi = domElem('posNavi');
		navi = domElem('navi');
		
		posNavi.style.top = '0';
		posNavi.style.left = '0';
		
		navi.style.top = '0';
		navi.style.left = '0';
		
	}
}

//openPopup


function openPopup(width, height, url) {
	if(!width || (typeof width == 'undefined')){width = 450;}
	if(!height || (typeof height == 'undefined')){height = 300;}

    var newPop = window.open(url, '', 'width=' + width + ',height=' + height + ',screenX=50,screenY=50');
    newPop.focus();
	return false;
}

//sendRequest


function sendRequest(action)
{
	try {
		req = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (e) {
		//Kein AJAX Support
	}
 
	req.onreadystatechange = handleResponse;
	req.open('get', 'output.php?s='+ encodeURI(action));
	req.send(null);
}
 
function handleResponse()
{
	if((req.readyState == 4) && (req.status == 200))
	{
		document.getElementById('musik_box').innerHTML = req.responseText;
	}
}





//showRequest


function showRequest(action)
{
	try {
		req = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (e) {
		//Kein AJAX Support
	}
 
	req.onreadystatechange = showResponse;
	req.open('get', 'output2.php?s='+ encodeURI(action));
	req.send(null);
}
 
function showResponse()
{
	if((req.readyState == 4) && (req.status == 200))
	{
		document.getElementById('gallery').innerHTML = req.responseText;
	}
}
//  End
