
jQuery.noConflict();

var itVest = {
		
	blinderResizeTimeout : false,
		
	initiate : function() {
	
		// Move blinder into the main body, and set some more CSS
		var blinder = jQuery("#newsletterBlinder");
		jQuery("body:first").append(blinder);
		blinder
			.css({
				position : "absolute",
				top : "0px",
				left : "0px",
				zIndex : "4000"
			})
			.click(function() { itVest.hideNewsletterSignup(this); })
		;
		
		// Do the same for the signup form.
		var signupForm = jQuery("#newsletterSignup");
		jQuery("body:first").append(signupForm);
		
		signupForm.css({
			top : "10px",
			zIndex : "5000"
		});
		
		// Set up a close button for the signup form.
		signupForm.find("#newsletterSignupDialogClose").remove();
		var closeButton = jQuery("<img>");
		closeButton
			.attr({
				id : "newsletterSignupDialogClose",
				src : "fileadmin/templates/grafik/icon_close.png",
				width: 9,
				height: 9
			})
			.css({
				position: "absolute",
				right: "5px",
				top: "5px",
				cursor: "pointer"
			})
			.click(function() { itVest.hideNewsletterSignup(blinder); })
		;
		signupForm.append(closeButton);
		
		// Find out if we're in print-mode or not
		var getVars = itVest.getUrlVars();
		if (getVars['print']) {
			window.print();
			window.close();
		} else {
			
			// We're not in print-mode.
		
			// Bind resize on document to resize the blinder
			jQuery(window).resize(function(){
				clearTimeout(itVest.blinderResizeTimeout);
				itVest.blinderResizeTimeout = setTimeout("itVest.resizeBlinder()", 200);
			});
			
			// Set click handler for the signup button
			jQuery("#newsletterSignupInitiator").click(itVest.showNewsletterSignup);
		}
	},
	
	
	resizeBlinder : function() {
		// Move signup form relative to signup-button
		var signupButton = jQuery("#newsletterSignupInitiator");
		if (signupButton.length) {
			var offset = signupButton.offset();
			jQuery("#newsletterSignup").css("left", (parseInt(offset.left)-200) + "px");
		};
		
		
		// Resize blinder to cover entire page
		var blinder = jQuery("#newsletterBlinder");
		var h = jQuery(document).height();
		var w = jQuery(document).width();
		blinder.css({ height : h + "px", width : w + "px" });
	},
	
	showNewsletterSignup : function() {
		itVest.resizeBlinder();
		jQuery("#newsletterBlinder").fadeIn('fast')
		jQuery("#newsletterSignup").show();
	},
	
	
	hideNewsletterSignup : function(blinder) {
		jQuery(blinder).fadeOut('fast');
		jQuery("#newsletterSignup").hide();
	},
	
	getUrlVars : function() {
		var vars = [], hash;
		var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
		for(var i = 0; i < hashes.length; i++) {
			hash = hashes[i].split('=');
			vars.push(hash[0]);
			vars[hash[0]] = hash[1];
		}
		return vars;
	}
	
};





jQuery(document).ready(itVest.initiate);
