var FAILCLASS = 'failField';
var multiplikator = 259 / 321; 	//Bildverhältnis Multiplikator
var pwForgetText = 'Wir senden Ihnen ein neues Passwort an die einngegebene E-Mail Adresse!';
var pwForgetButtonText = 'Anfordern';
var messageDialogButtonText = 'OK';
var displayNoneClass = 'displayNone';
var actBannerPic = 0;

function bindNaviEvents(){
	$('.naviElement').unbind('hover').hover(
		function(){
			$(this).addClass('naviHover');
		},
		function(){
			$(this).removeClass('naviHover');
		}
	);
	$('.subNaviButton').unbind('hover').hover(
		function(){
			$(this).addClass('subNaviHover');
		},
		function(){
			$(this).removeClass('subNaviHover');
		}
	);
	$('.subNaviButton').unbind('click').click(function(){
		var target = $(this).attr('id');
		var actZone = $('.subNaviActive').attr('id');
		$('.subNaviActive').removeClass('subNaviActive');
		$(this).addClass('subNaviActive');
		$('.' + actZone).parents('.wrapperBox').addClass('displayNone');
		$('.' + target).parents('.wrapperBox').removeClass('displayNone');
		
		if(target == 'objectMap'){
			//GoogleMaps laden
			ladeMap();
		}
	});
	$('#bannerImage').unbind('dblclick').dblclick(function(){
		if(admin)	window.location.href = 'Management/index.php';
		else		$('#loginBack').slideDown();
	});
	$('#printObject img').unbind('hover').hover(
		function(){
			$(this).addClass('printHover');
		},
		function(){
			$(this).removeClass('printHover');
		}
	);
}

function bindObjectEvents(){
	$('.button').unbind('hover').hover(
		function(){
			$(this).addClass('buttonHover');
		},
		function(){
			$(this).removeClass('buttonHover');
		}
	);
}

function bindLoginEvents(){
	$('#cancel').unbind('click').click(function(){
		$('#loginBack').slideUp();
	});
	$('#login').unbind('click').click(function(){
		login();
	});
	
	//Wenn eine Taste auf der Tastatur gedrückt wurde
	$('#loginMail,#loginPassword').keyup(function(evt){
		//Überprüfung der Tasten
		switch(evt.keyCode){
			//Enter
			case 13:
				login();
				break;
		}
	});
}

//Aufrunden mit Nachkommastelle
function ceil_f(value, prec) {
	var f = Math.pow(10, prec);
	return (Math.ceil(value * f) / f);
}

function login(){
	var data = new Object();
	
	$('#loginMain :text,#loginMain :password').each(function(){
		data[$(this).attr('id').replace(/login/, '')] = $(this).val();
	});
	
	if(data.Mail && data.Password){
		//AJAX-Request senden
		$.ajax({
			async: "async",
			url: "PHP/Login.php",
			type: "POST",
			dataType: "json",
			data: data,
			success: function(dataP, status){
				if(dataP.ok == true){
					window.location.href = 'Management/index.php';
					
				}
				else{
					alert('Die E-Mail Adresse oder das Passwort sind falsch!');
				}
			},
			error: function(xmlhttp, statzs, error){
				alert('Verbindung konnte nicht aufgebaut werden!');
			}
		});
	}
}

function calcDocDimensions(){
	var clientHeight = document.documentElement.clientHeight;
	var clientWidth = document.documentElement.clientWidth;
	var bannerHeight = $('#banner').height();
	var naviHeight = $('#naviBar').height();
	var pageName = $('body').attr('id');
	if(clientHeight < 875){clientHeight = 875;}
	$('body').css('height', clientHeight);
	$('#loginWin').css('margin-top', ((clientHeight / 2) - 75));
	if(pageName == 'index'){
		var conWrapHeight = clientHeight - bannerHeight - naviHeight - 30;
		if(conWrapHeight < 629){conWrapHeight = 629;}
		$('#contentWrapper').css('height', conWrapHeight);
		var eleHeight = $('.textBox').height() + 25 + ($('.headLineBar').height() * 2) + 25 + ($('.containerWrapper').height() * 2) + 60;
		$('.spanDiv').css('height', conWrapHeight - eleHeight);
	}
	else if(pageName == 'sales' || pageName == 'hires' || pageName == 'commercial' || pageName == 'references'){
		var fallBack = clientHeight - bannerHeight - naviHeight - 30;
		var conCount = $('.container').length;
		var conCountCeil = Math.round(conCount);
		var conCountMod = conCount % 2;
		var conWrapHeight = (($('.container').height() + 30) * ((conCountCeil + conCountMod) / 2)) + $('.filterBox').height() + 20;
		if(conWrapHeight < fallBack){conWrapHeight = fallBack;}
		$('#contentWrapper').css('height', conWrapHeight);
		$('#background').css('height', conWrapHeight + bannerHeight + naviHeight + 30);
		$('#centerDiv').css('height', conWrapHeight + bannerHeight + naviHeight + 30);
	}
	else if(pageName == 'contact' || pageName == 'impressum'){
		var conWrapHeight = clientHeight - bannerHeight - naviHeight - 30;
		if(conWrapHeight < 629){conWrapHeight = 629;}
		$('#contentWrapper').css('height', conWrapHeight);
	}
}

function startPicChange(){
	var bannerImg = $('#bannerImage');
	var imgSrc = bannerImg.attr('src');
	var imgRoot = imgSrc.split('_')[0];
	actBannerPic = parseInt(imgSrc.split('_')[1]);
	bannerImg.fadeOut(1500, function(){
		if(actBannerPic < 8){
			actBannerPic += 1;
		}
		else{
			actBannerPic = 0;
		}
		bannerImg.attr('src', imgRoot + '_' + actBannerPic + '_.png');
		bannerImg.delay(500).fadeIn(1500);
	});
}

function calcObjectDimensions(){
	var clientHeight = document.documentElement.clientHeight;
	var clientWidth = document.documentElement.clientWidth;
	var bannerHeight = $('#banner').height();
	var naviHeight = $('#naviBar').height();
	var pageName = $('body').attr('id');
	if(clientHeight < 875){clientHeight = 875;}
	var conWrapHeight = clientHeight - bannerHeight - naviHeight - 30;
	if(conWrapHeight < 629){conWrapHeight = 629;}
	$('#contentWrapper').css('height', conWrapHeight);
	$('#background').css('height', conWrapHeight + bannerHeight + naviHeight + 30);
	$('#centerDiv').css('height', conWrapHeight + bannerHeight + naviHeight + 30);
	$('.dataBox').css('height', conWrapHeight - $('.naviBox').height() - 50);
	$('.pictureBox').css('height', conWrapHeight - $('.naviBox').height() - 50);
	$('.rightPicArea').css('height', $('.dataBox').height());
}

/**	
 * Initiale Konfiguration und Strukturierung der Benutzeroberfläche, sowie das Zuweisen von Eventhandlern und
 * dem Initialisieren verschiedener Objekte, wie z.B. des Schnellwahlkalenders. Wird angestoßen, sobald alle 
 * DOM-Elemente fertig geladen sind.
 */

$(window).load(function(){
	// MSIE 6.0 Warnmeldung
	if(navigator.userAgent.indexOf("MSIE 6.0") != -1){
		alert("ACHTUNG!\n\nIhre Browsersoftware ist veraltet!\nDadurch kann es zu Anzeigefehlern kommen!\n\nBitte installieren Sie eine neue\nVersion Ihres Browsers.\n\nUnsere Empfehlung:\n\nBrowsersoftware: Mozilla Firefox");
	}
	bindNaviEvents();
	bindObjectEvents();
	bindLoginEvents();
	calcDocDimensions();
	window.setInterval(startPicChange, 13000);
});

/**
 * Konfiguration und Strukturierung der Benutzeroberfläche. Wird bei jeder Verkleinerung oder 
 * Vergrößerung des Browserfensters angestoßen.
 */

$(window).resize(function(){
	calcDocDimensions();
	calcObjectDimensions();
});
