// Globale Variablen
var ie6								= 0;
var breiten						= Array();
var offen							= Array();
var boxen							= Array();
var geradeoffen 			= 0;
var vorheroffen 			= 0;
var altelinks					= Array();
var showMorph					= Array();
var hideMorph					= Array();
var bgMorph						= Array();
var linkcloseMorph		= Array();
var opening						= 0;
var closecount				= 0;

// Hooks
onloadHooks.push(function(){
	tx_igpageext_pi1_onload();
});

// Load-Funktionen
function tx_igpageext_pi1_onload(){
	tx_igpageext_pi1_checkBrowser();
	var aktuellerAbstand = 10;
	var firmenschriften = $$('.firmaschrift');
	for(var i = 0; i < firmenschriften.length; i++){
		var firmenidteile = firmenschriften[i].getProperty('id').split('_');
		var firmenid = firmenidteile[1];
		var aktbreite = firmenschriften[i].getStyle('width').toInt();
		breiten[firmenid] = aktbreite;
		firmenschriften[i].addEvents({
			'click' : function(){
				var idteile = this.getProperty('id').split('_');
				var elemid = idteile[1];
				toggle_elem(elemid);
			},
			'focus' : function(e) {
				this.blur();
			}
		});
		
		altelinks[firmenid] = $('firma_'+firmenid).getChildren()[0].clone();
		
		boxen[i] = new Element('div', {
			'styles'		: {
				'width'				: '210px',
				'height'			: '315px',
				'position'		: 'absolute',
				'top'					: '330px',
				'left'				: aktuellerAbstand,
				'background'	: 'transparent url(typo3conf/ext/ig_pageext/res/img/bg_popup.png) no-repeat top left',
				'padding'			:	'12px',
				'z-index'			: (i+1)
			},
			'html'			: '',
			'id'				: 'popup_'+firmenid
		});
		boxen[i].adopt(fillbox(firmenid));
		aktuellerAbstand = aktuellerAbstand + aktbreite + 20;
		boxen[i].inject($('tx_igpageext_innerwrap', 'before'));
	}
	timeoutfunc();
}

function timeoutfunc(){
	for(var i = 0; i < offen.length; i++){
		if(i != geradeoffen){
			sofortschliessen(i);
		}
	}
	var t = setTimeout("timeoutfunc();",300);
}

function toggle_elem(elemid){
	for(var i = 0; i < offen.length; i++){
		if(offen[i] == 1 && i != elemid){
			closecount++;
			schliessen(elemid,i);
		}else{
			if(i > 0){
				sofortschliessen(i);
			}
		}
	}
	if(!closecount){
		allegeschlossen(elemid);
	}
}

function allegeschlossen(elemid){
	if(geradeoffen != elemid){
		oeffnen(elemid);
	}
}

function sofortschliessen(i){
	var zuschliessen = $('popup_'+i);
	if(zuschliessen){
		zuschliessen.setStyle('top', 330);
	}
}

function oeffnen(elemid){
	if(!opening){
		opening = 1;
		geradeoffen = elemid;
		var hgbild = $('firmendaten_'+elemid).getChildren()[0].getChildren()[0].getProperty('src');
		$('tx_igpageext_bg_1').setStyle('background', 'url('+hgbild+') no-repeat top left');
		bgMorph[elemid] = new Fx.Morph($('tx_igpageext_bg_2'), {
			duration: '300',
			transition: Fx.Transitions.Sine.easeOut
		});
		bgMorph[elemid].addEvent('complete', function(){
			$('tx_igpageext_bg_2').setStyle('background', 'url('+hgbild+') no-repeat top left');
			$('tx_igpageext_bg_2').setStyle('opacity', '1');
			
			var neuerlink = $('firmendaten_'+elemid).getChildren()[3].clone();
			neuerlink.replaces($('firma_'+elemid).getChildren()[0]);
		});
		bgMorph[elemid].start({
			'opacity'	: [1,0]
		});
		
		var opMorph = new Fx.Morph($('firma_'+elemid), {
			duration: '200',
			transition: Fx.Transitions.Sine.easeOut
		});
		opMorph.addEvent('complete', function(){
			offen[elemid] = 1;
			opening = 0;
			showbox(elemid);
		});
		opMorph.start({
			'width'		: [breiten[elemid], 210]
		});
	}
}

function showbox(elemid){
	offen[elemid] = 1;
	var firmenschriften = $$('.firmaschrift');
	for(var i = 0; i < firmenschriften.length; i++){
		var firmenidteile = firmenschriften[i].getProperty('id').split('_');
		var firmenid = firmenidteile[1];
	}
	showMorph[elemid] = new Fx.Morph($('popup_'+elemid), {
		duration: '500',
		transition: Fx.Transitions.Sine.easeOut
	});
	showMorph[elemid].addEvent('complete', function(){
		vorheroffen = geradeoffen;
		geradeoffen = elemid;
	});
	showMorph[elemid].start({
		'top'		: [330, 20]
	});
}

function schliessen(elemid,i){
	linkcloseMorph[i] = new Fx.Morph($('firma_'+i), {
		duration: '200',
		transition: Fx.Transitions.Sine.easeOut
	});
	linkcloseMorph[i].addEvent('complete', function(){
		offen[i] = 0;
		closecount--;
		var neuerlink = altelinks[i];
		neuerlink.replaces($('firma_'+i).getChildren()[0]);
		neuerlink.addEvents({
			'focus' : function(e) {
				this.blur();
			}
		});
		if(i == vorheroffen){
			hidebox(i);
		}else{
			sofortschliessen(i);
		}
		if(closecount == 0){
			allegeschlossen(elemid);
		}
	});
	linkcloseMorph[i].start({
		'width'		: [210, breiten[i]]
	});
}

function hidebox(elemid){
	hideMorph[elemid] = new Fx.Morph($('popup_'+geradeoffen), {
		duration: '300',
		transition: Fx.Transitions.Sine.easeOut
	});
	hideMorph[elemid].addEvent('complete', function(){	});
	hideMorph[elemid].start({
		'top'		: [20, 330]
	});
	
}

function fillbox(elemid){
	var neueshtml = new Element('div', {	});
	var logo = $('firmendaten_'+elemid).getChildren()[1].clone();
	var inhalte = $('firmendaten_'+elemid).getChildren()[2].clone();
	neueshtml.adopt(logo);
	neueshtml.adopt(inhalte);
	return neueshtml;
}


// Browserversion checken
function tx_igpageext_pi1_checkBrowser(){
	var browser = navigator.userAgent.toLowerCase();
  var ganzzahl = parseInt(navigator.appVersion);
  var genauezahl = parseFloat(navigator.appVersion);
  var explorer = ((browser.indexOf("msie") != -1) && (browser.indexOf("opera") == -1));
	var explorer6 = (explorer && (ganzzahl == 4) && (browser.indexOf("msie 6.0") !=-1));
	
	if(explorer6){
		ie6 = 1;
	}
}
