﻿/* ***********************************************
*** Konflikte mit anderen Frameworks vermeiden ***
*********************************************** */
var fb = jQuery.noConflict();

/* **************
*** Verpacken ***
************** */
;(function(fb){
	
	/* **************
	*** Variablen ***
	************** */
	var $fbaktiv = "nein";
	var $fbmase = "";
	var mXpos;
	var mYpos;
	
	/* *********************************
	*** Funktion fuer die Navigation ***
	********************************* */
	fb.fn.feedback = function()
	{
		/* *****************************************
		*** Pruefen ob ein Element vorhanden ist ***
		***************************************** */
		if (!fb('#feedbackfahne').length && !fb('#feedbackfahne_start').length){ // Ist ein Element vorhanden
			return; // Wenn nicht, beenden
		}
		
		if (fb('#feedbackfahne').length){
			var bereich = "#feedbackfahne";
		}
		if (fb('#feedbackfahne_start').length){
			var bereich = "#feedbackfahne_start";
		}
		
		/* **************
		*** Variablen ***
		************** */
		var $rahmen_breite = 300;
		var $rahmen_hoehe = 300;
		var $posrahmen_breite = 300;
		var $posrahmen_hoehe = 280;
		var $inhaltrahmen_breite = 290;
		var $inhaltrahmen_hoehe = 270;
		var $inhaltrahmen_margin = 5;
		
		/* **********************
		*** Element einfuegen ***
		********************** */
		fb('body').append('<div id="fb_overlay"></div>');
		//fb('#feedbackfahne').append('<div class="fee_rahmen"><div class="fee_innenrahmen"><div class="fee_schliessen"><a href="#" class="feeschliessen">Schließen</a></div><div class="fee_inhalt"> </div></div></div>');
		fb('body').append('<div class="fee_posrahmen"><div class="fee_rahmen"><div class="fee_innenrahmen"><div class="fee_schliessen"><a href="#" class="feeschliessen">Schließen</a></div><div class="fee_inhalt"> </div></div></div></div>');
		
		/* ***************************
		*** Mausposition bestimmen ***
		*************************** */
		fb(bereich).mousemove(function(e){
													mXpos = e.pageX;
													mYpos = e.pageY;
												});
		
		/* **********+*****************************
		*** Mase des Anzeigebereiches ermitteln ***
		************+*************************** */
		fb.fee_viewmase = function(){
			var breite = "";
			var hoehe = "";
			
			var ww = fb(window).width(); // Breite des Viewports
			var wh = fb(window).height(); // Hoehe des Viewports
			
			var dw = fb(document).width(); // Breite des Dokuments
			var dh = fb(document).height(); // Hoehe des Dokuments
			
			var bw = fb('body').width(); // Breite des Body
			var bh = fb('body').height(); // Hoehe des Body
			
			if (ww > bw){
				breite = ww;
			} else {
				if (bw > dw){
					breite = bw;
				} else {
					breite = dw;
				}
			}
			if (wh > bh){
				hoehe = wh;
			} else {
				if (bh > dh){
					hoehe = bh;
				} else {
					hoehe = dh;
				}
			}
			
			arrayMase = [breite,hoehe,ww,wh,dw,dh,bw,bh];
			$fbmase = arrayMase;
		};
		
		/* ********************************
		*** Listener auf Click ansetzen ***
		******************************** */
		/* *** Laden des Feedbackformulars *** */
		$obj = fb(bereich);
		
		$obj.click(function(){
							if ($fbaktiv == "nein"){
								if ($fbmase == ""){
									fb.fee_viewmase();
								}
								
								$fbaktiv = "ja";
								fb('#fb_overlay').width($fbmase[0]);
								fb('#fb_overlay').height($fbmase[1]);
								fb('#fb_overlay').fadeTo('fast', 0.7);
								fb('.fee_posrahmen')
												.css('top', mYpos)
												.css('left', (mXpos-$posrahmen_breite))
												.css('width', $posrahmen_breite)
												.css('height', $posrahmen_hoehe);
								fb('.fee_inhalt')
												.css('width', $inhaltrahmen_breite)
												.css('height', $inhaltrahmen_hoehe)
												.css('margin-right', $inhaltrahmen_margin)
												.css('margin-left', $inhaltrahmen_margin);
								fb('.fee_rahmen')
												.css('width', 0)
												.css('height', 0);
								fb('.fee_rahmen').show();
								fb('.fee_rahmen').animate({width: $rahmen_breite, height: $rahmen_hoehe}, 'slow',function(){
																									 fb('.fee_innenrahmen').fadeIn('slow');
																									 $ladeInhalt();
																									 });
								return false;
							}
							
							});
		
		/* *** Schliessen des Feedbackformular *** */
		$sobj = fb('.feeschliessen');
		$sobj.click($fbschiessen = function(){
							 $fbaktiv = "nein";
							 fb('.fee_rahmen').fadeOut('slow');
							 fb('.fee_innenrahmen').fadeOut('fast');
							 fb('.fee_inhalt').html('');
							 fb('#fb_overlay').fadeOut('fast');
							 fb('.fee_posrahmen')
												.css('top', '-9999px')
												.css('left', '-9999px');
							 return false;
							 });
		
		/* *******************
		*** Formular laden ***
		******************* */
		$ladeInhalt = function(){
								fb.ajax({url: '/web/feedbackformular.inc.php',
										success: function(ergebnis){
																	if (ergebnis){
																		fb('.fee_inhalt').html(ergebnis);
																		fb('.fee_formrahmen').fadeIn(1500);
																	}
																	}
										});
								};
	}
	
	/* **************
	*** Los gehts ***
	************** */
	fb(document).ready(function(){
		/* *** Initialisieren *** */
		fb.fn.feedback();
	});
	
})(jQuery);
