jQuery(function() {
	function getPageSize() {
		var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		if (self.innerHeight) { // all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth;
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else {
		pageHeight = yScroll;
		}
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){
		pageWidth = xScroll;
		} else {
			pageWidth = windowWidth;
		}
		return [pageWidth,pageHeight];
	}
	
	jQuery('.overlay').click(function(e) {
		var arrayPageSize = getPageSize();
		var s = jQuery(this).attr('href');
		jQuery(s).css('height',arrayPageSize[1]+"px")
		        .css("display","block")
				.hide()
				.fadeIn("fast")
		        .find('.close')
				.click(function() {
			        jQuery(s).hide();
		        })
				.end()
		        .find('a')
				.click(function() {
			        jQuery(s).hide();
		        });
		return false;
	});

	jQuery('#empfehlen_overlay form').submit(function(e) {
		e.preventDefault();
		
		/* read out variables */
		var empfaenger_name = jQuery('#name_empfaenger').attr("value");
		var empfaenger_email = jQuery('#real_email_empfaenger').attr("value");
		var absender_name = jQuery('#name_absender').attr("value");
		var absender_email = jQuery('#email_absender').attr("value");
		var nachricht = jQuery('#nachricht').val();
		var url = jQuery('#url').attr("value");
		var protect = jQuery('#email_empfaenger').attr("value");
		var title = jQuery('#title').attr('value');
		
		/* remove old warnings */
		jQuery('#name_empfaenger').removeClass('error');
		jQuery('.name_empfaenger_warning').html("&nbsp;");
		jQuery('#real_email_empfaenger').removeClass('error');
		jQuery('.email_empfaenger_warning').html("&nbsp;");
		jQuery('#name_absender').removeClass('error');
		jQuery('.name_absender_warning').html("&nbsp;");
		jQuery('#email_absender').removeClass('error');
		jQuery('.email_absender_warning').html("&nbsp;");
		
		/* check form and echo warnings */
		if (!protect) {
			
			if (!empfaenger_name) {
				jQuery('#name_empfaenger').addClass('error');
				jQuery('.name_empfaenger_warning').html("Bitte geben Sie Ihren Namen an");
				var error = true;
			}
			
			if (!empfaenger_email) {
				jQuery('#real_email_empfaenger').addClass('error');
				jQuery('.email_empfaenger_warning').html("Bitte geben Sie Ihre E-Mail-Adresse an");
				var error = true;
			}
			
			if (!absender_name) {
				jQuery('#name_absender').addClass('error');
				jQuery('.name_absender_warning').html("Bitte geben Sie einen Namen an");
				var error = true;
			}
			
			if (!absender_email) {
				jQuery('#email_absender').addClass('error');
				jQuery('.email_absender_warning').html("Bitte geben Sie eine E-Mail-Adresse an");
				var error = true;
			}
			
			/* proceed when no error */
			
			if (!error) {
				jQuery('#form').hide();
				jQuery("#meldungen").html("<img src='/shared/empfehlen/loader.gif' alt='[LOADING]' /> Artikel wird gesendet");
				jQuery.post("/shared/empfehlen/send_mail.php", { name_absender: absender_name, email_absender: absender_email, name_empfaenger: empfaenger_name, email_empfaenger: empfaenger_email, url: url, nachricht: nachricht, title: title }, function(msg) {
					jQuery("#meldungen").html(msg);
					
					/* close functionality */
					jQuery('.reload').click(function(e) {
						e.preventDefault();
						jQuery('#form').show();
						jQuery('#meldungen').html('');
					});
					
					/* reset functionality */
					jQuery('.close').click(function(e) {
						e.preventDefault();
						jQuery('embed').css("visibility","visible");
						jQuery('#empfehlen_overlay').hide();
					});
					
				});
			}
		} /* protect */
	});
});
