/*
 * Created on 30.10.2008
 *
 * yui_functions.js
 * 
 * author: rwelbers <rwelbers@brainpool.de>
 */

/** 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;
}


/*...überflüssig, weils dadrpber schon so was ähnliches gibt..*/
function setTargetHeight(height, target){
    var attributes = {
               height: {
                           to: height 
               }
    };
    var anim = new YAHOO.util.Anim(target, attributes, 0.3, YAHOO.util.Easing.easeIn);
    anim.animate();
}
/*...überflüssig, weils dadrpber schon so was ähnliches gibt..*/





/*
 * 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);
}
*/

