var global_portal="haufe-akademie";
var global_ref;
var global_posX=0;
var global_posY=0;
var global_sXOffset=0;
var global_sYOffset=0;
var global_orientation="";
var global_type="";
var global_referentName="";
var global_subType="";
var global_waitForImage=false;
var openedLayer='';
var x = document.getElementsByTagName( "body" )[0];

function loadAjaxLayerPreview(portal,a,b,c,e,d,f,type,id) {

	var booking_id='';
	if(loadAjaxLayerPreview.arguments[9]!=undefined) booking_id='/'+loadAjaxLayerPreview.arguments[9];

	global_portal=portal; // Portal für PreviewFunktion | 1=Haufe Akademie | 2=Lexware Akademie
	global_ref=a;  // Objekt aufrufender Link (zur Positionsbestimmung)
	global_posX=b; // Left Position
	global_posY=c; // Top Position
	global_sXOffset=d; // Shadow Offset X
	global_sYOffset=e; // Shadow Offset X
	global_orientation=f; // Left/Right Orientation
	global_type=type; // Typ
	global_image=0;
	global_subType="";
	
	global_ref.style.cursor = "wait";
	if(openedLayer!='') hideAjaxLayer(openedLayer);

	if (type=='referentEN') {
		global_type='referent';
		type='referent_en';
	}		
	
	if(global_type=='hotel') global_image=1;
	if(global_type=='pahotel' || global_type=='auhotel') global_image=2;
	if(global_type=='referent' || global_type=='referent_au') global_image=3;
	
	if (global_type=="normal") {
		
		showResponse()
		
	} else {
		var ajax = new Ajax.Updater(
		'ajax'+type,
		'ajax/'+global_portal+'/'+type+'/'+id+booking_id,
		{ 
			method:'get',
			evalScripts: true,
			onComplete: showResponse
		});
	}
}

function loadAjaxLayer(a,b,c,d,e,f,type,id) {

	var booking_id='';
	if(loadAjaxLayer.arguments[8]!=undefined) booking_id='/'+loadAjaxLayer.arguments[8];

	global_ref=a;  // Objekt aufrufender Link (zur Positionsbestimmung)
	global_posX=b; // Left Position
	global_posY=c; // Top Position
	global_sXOffset=d; // Shadow Offset X
	global_sYOffset=e; // Shadow Offset X
	global_orientation=f; // Left/Right Orientation
	global_type=type; // Typ
	global_image=0;
	global_subType="";
	
	global_ref.style.cursor = "wait";
	if(openedLayer!='') hideAjaxLayer(openedLayer);
	
	if (type=='referentEN') {
		global_type='referent';
	}	
	
	if(global_type=='hotel') global_image=1;
	if(global_type=='pahotel' || global_type=='auhotel') global_image=2;
	if(global_type=='referent' || global_type=='referent_au') global_image=3;
	if(global_type=='simplehoverHotel') global_image=4;
	
	if (global_type=="normal") {
		
		showResponse()
	} else if (global_type=="simplehoverHotel") {
		global_subType="simplehoverHotel";
		var tmp = global_type;
		global_type="simplehover";
		var ajax = new Ajax.Updater(
		'ajax'+global_type,
		'ajax/'+tmp+'/'+id+booking_id,
		{ 
			method:'get',
			evalScripts: true,
			onComplete: showResponse
		});
	} else if (type=='referentEN') {
		var ajax = new Ajax.Updater(
				'ajax'+global_type,
				'ajax/referent_en/'+id+booking_id,
				{ 
					method:'get',
					evalScripts: true,
					onComplete: showResponse
				});		
	} else {
		
		var ajax = new Ajax.Updater(
		'ajax'+type,
		'ajax/'+type+'/'+id+booking_id,
		{ 
			method:'get',
			evalScripts: true,
			onComplete: showResponse
		});
	}
}

function loadAjaxTextDownloadLayer(a,b,c,d,e,f,type,downloadID,userID) {
	global_ref=a;  // Objekt aufrufender Link (zur Positionsbestimmung)
	global_posX=b; // Left Position
	global_posY=c; // Top Position
	global_sXOffset=d; // Shadow Offset X
	global_sYOffset=e; // Shadow Offset X
	global_orientation=f; // Left/Right Orientation
	global_type=type; // Typ
	global_image=0;
	global_subType="";
	
	global_ref.style.cursor = "wait";
	if(openedLayer!='') hideAjaxLayer(openedLayer);

	var ajax = new Ajax.Updater(
	'ajax'+type,
	'ajax/'+type+'/'+downloadID+'/'+userID,
	{ 
		method:'get',
		evalScripts: true,
		onComplete: showResponse
	});
}

function showResponse(req) {

	if (global_type=='referent' || global_type=='referent_au') {
		$('referentName').innerHTML = $('referentNameHelper').innerHTML;
	}
	if (global_type == 'normal') {
		$('ajaxnormal').innerHTML = $('contentHelper').innerHTML;
		$('ajaxheadline').innerHTML = $('headlineHelper').innerHTML;
	}
	if (global_type == 'simplehover') {
		$('ajaxSimplehoverHeadline').innerHTML = $('simplehoverHeadline').innerHTML;
	}	
	
	if (x=document.images["picture"+global_image]) {
		Event.observe(x, 'load', function(){ positionAjaxLayer(global_ref, global_posX, global_posY, global_sXOffset, global_sYOffset, global_orientation, global_type.capitalize() + 'Layer') });
		Event.observe(x, 'error', function(){ positionAjaxLayer(global_ref, global_posX, global_posY, global_sXOffset, global_sYOffset, global_orientation, global_type.capitalize() + 'Layer') });
	} else {
		positionAjaxLayer(global_ref, global_posX, global_posY, global_sXOffset, global_sYOffset, global_orientation, global_type.capitalize() + 'Layer')
	}
	
}

function hideAjaxLayer(type) {
	
	document.getElementById(''+type+'').style.visibility = "hidden";
	document.getElementById(''+type+'').style.display = 'none';
	document.getElementById('shadow'+type+'Tab').style.top='-500px';
	document.getElementById('normal'+type+'Tab').style.position = "relative";
	document.getElementById('shadow'+type+'Tab').style.position = "relative";	
	openedLayer='';
}

function positionAjaxLayer(ref,posX,posY,sXOffset,sYOffset,orientation,type) {

	openedLayer=type	
	tmpX=getLeft(ref)
	tmpY=getTop(ref)	
	document.getElementById(''+type+'').style.display = "block";
	document.getElementById('normal'+type+'Tab').style.display = "block";
	document.getElementById('shadow'+type+'Tab').style.display = "block";
	if(orientation=='bottom') bottomOffset=-(document.getElementById('normal'+type+'Tab').offsetHeight); else bottomOffset=0;
	document.getElementById('normal'+type+'Tab').style.top = tmpY+posY+bottomOffset +'px';
	document.getElementById('normal'+type+'Tab').style.left = tmpX+posX +'px';
	document.getElementById('shadow'+type+'Tab').style.left = tmpX+posX+sXOffset +'px';
	document.getElementById('shadow'+type+'Height').style.height='1px';
	if (global_subType == "simplehoverHotel") {
		document.getElementById('shadow'+type+'Width').style.width = '500px';
		document.getElementById('shadow'+type+'Height').style.height = (document.getElementById('normal'+type+'Tab').offsetHeight - 47) +'px' ;
	} else {
		document.getElementById('shadow'+type+'Width').style.width = (type=='ModuletimesLayer')?'310px':((type=='NormalLayer')?'380px':((type=='ReferentLayer')?'360px':'518px'));//(document.getElementById('normal'+type+'Tab').offsetWidth) +'px' ;
		document.getElementById('shadow'+type+'Height').style.height = (document.getElementById('normal'+type+'Tab').offsetHeight - 67) +'px' ;	
	}	
	document.getElementById('shadow'+type+'Tab').style.top = tmpY+posY+sYOffset+bottomOffset +'px';
	document.getElementById('normal'+type+'Tab').style.position = "absolute";
	document.getElementById('shadow'+type+'Tab').style.position = "absolute";
	document.getElementById(''+type+'').style.visibility = "visible";
	if(getTop(document.getElementById('normal'+type+'Tab'))<0) {
		top_padding=(Math.abs(getTop(document.getElementById('normal'+type+'Tab'))))+10
		document.getElementById(''+type+'').style.top=top_padding+'px';
	}
	ref.style.cursor = 'pointer';
	ref.style.cursor = 'hand';
}

function getLeft(refObj)
{
	xPos = refObj.offsetLeft;
	parentObj=refObj.offsetParent;
	while(parentObj != null) {xPos+=parentObj.offsetLeft;parentObj=parentObj.offsetParent}
	return xPos;
}

function getTop(refObj)
{
	yPos = refObj.offsetTop;
	parentObj=refObj.offsetParent;
	while(parentObj != null) {yPos+=parentObj.offsetTop;parentObj=parentObj.offsetParent}
	return yPos;
}

function hideIntroLU(refObj) {
	if (refObj!="undefined" && refObj.hideIntroPA.checked) {
		var ajax = new Ajax.Updater(
			'ajaxhideIntroPA',
			'ajax/hideIntroPA/',
			{ 
				method:'get',
				evalScripts: true,
				onComplete: hideIntroLUResponse
			});
	}
}

function hideIntroLUResponse(req) {
	
	if (req != undefined && req.responseText == "true") {
		document.getElementById('introTextPA').style.display = 'none';
	}
}
